id(PRIMARY KEY) item
--- -------
1 book
2 pen
3 computer
4 book
5 pen
6 mobile
7 book
这是主要表格。我希望结果(项目计数>> 1)
ID ITEM COUNT
---- ------- -------
1 BOOK 3
4 BOOK 3
7 BOOK 3
2 PEN 2
5 PEN 2
我正在撰写查询:
SELECT ID,ITEM,COUNT(ITEM)
FROM MAIN
GROUP by ID,ITEM
HAVING COUNT(ITEM)>1
ORDER BY ITEM
获得结果:
ID ITEM COUNT
---- ------- -------
答案 0 :(得分:0)
SELECT m.ID, m.ITEM, m1.`COUNT`
FROM MAIN m
JOIN (
SELECT ITEM, COUNT(*) AS `COUNT`
FROM MAIN
GROUP BY ITEM
HAVING `COUNT` > 1
) m1
ON m.ITEM = m1.ITEM
ORDER BY m.ITEM, ID
您的问题是ID
中同时包含ITEM
和GROUP BY
。由于ID是唯一的,因此您从未有任何重复。
子查询用于获取每个项目的计数。然后将其与原始表格连接,以便您可以单独显示每个ID。