You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite如何查询分组后有效颜色计数大于1的ID

解决方案

你原先的SQL写法存在两个核心问题:

  • 直接在WHERE子句中判断Colour > 1,既不能实现统计每个ID对应颜色数量的需求,也没有完成None值的过滤
  • 聚合类的筛选条件需要配合GROUP BY分组和HAVING子句实现,不能直接放在WHERE中

正确的实现逻辑如下:

  1. 先用WHERE子句过滤掉所有Colour为None的无效记录
  2. 按ID字段对数据分组
  3. 用COUNT()函数统计每个分组下的有效颜色条数
  4. 用HAVING子句筛选出统计结果大于1的ID

对应的Python代码修改为:

cur.execute('SELECT ID FROM your_table_name WHERE Colour IS NOT NULL GROUP BY ID HAVING COUNT(Colour) > 1')
rows = cur.fetchall()
for row in rows:
    print(row)

注意将代码中的your_table_name替换为你实际的表名

测试说明:针对你给出的示例数据,执行上述SQL后会正确返回0000和2222两个ID,符合需求。

内容的提问来源于stack exchange,提问作者Jeff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:57:04