我一直在环顾四周,无法找到这个问题的答案,找到一个独特的匹配。我有一张看起来像
的桌子ID Category Relevancy
192820 273003000 2
242567 273003000 2
510711 273003000 2
510711 273003002 34
542178 273003000 1
551356 273003002 1
688833 273003000 3
734917 273003002 2
888879 273003000 1
891624 273003002 3
因此,对于每个id,它们可以具有多个类别,并且相关性是什么类别编号(1是第一类别,2秒,34是该id的第三十四类别)。
我想查询我可以搜索类别计数的位置,但如果已经计算了某个类别的ID,则不会对其进行计数。
因此,答案如下:
Category Count
273003000 6
273003002 2
感谢您的帮助!!
答案 0 :(得分:1)
如果该ID与具有较早ID的类别相关,则假设您从类别中排除了ID,则以下内容将起作用。从您的问题来看,排除的工作方式并不完全清楚。如果你能澄清一下,可以调整查询
SELECT t1.category
,count(distinct t1.ID)
FROM table1 t1
WHERE NOT EXISTS
(SELECT 1
FROM table1 t2
WHERE t2.id = t1.id
AND t2.category < t1.category
)
GROUP BY
t1.category
以下是SQL Fiddle
答案 1 :(得分:0)