【发布时间】:2011-01-06 08:28:23
【问题描述】:
我有表项的以下表架构
id | item_id | category_id
我在这张表中有样本数据
id | item_id | category_id
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
4 | 2 | 2
5 | 3 | 1
6 | 1 | 1
要求:我需要计算所有在每个 category_id 中重复的项目。在上述场景中 item_id '1' 在类别 '1' 中重复。我需要针对每个 category_id 计算无效或重复的 item_id。
【问题讨论】:
-
您没有定义“无效”item_id 的含义。
-
您可以按照
select count(*), category_id, item_id from table where true group by category_id, item_id的方式执行操作,然后查找计数 > 1 的记录。不过,在大表上的性能会很糟糕。 -
invalid 表示重复,表示这些是相同的东西。
标签: sql