是否可以對結果進行分組,然後根據組中有多少行進行過濾?按COUNT(*)過濾?
事情是這樣的:
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name
是否可以對結果進行分組,然後根據組中有多少行進行過濾?按COUNT(*)過濾?
事情是這樣的:
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name
你要使用具有對聚合函數進行篩選。
SELECT name, COUNT(*)
FROM mytable
GROUP BY name
HAVING COUNT(*) > 1
您需要使用HAVING
SELECT * FROM mytable GROUP BY name HAVING COUNT(*) > 1
雖然SELECT *
不會使當你分組太大的意義。我認爲它只是一個在你的查詢爲例
用途:
SELECT * FROM mytable GROUP BY name having COUNT(*) > 1
你想要一個HAVING子句。
SELECT *
FROM mytable
GROUP BY name
HAVING COUNT(*) > 1
SUPERSTAR!正要測試它! – DonutReply 2011-04-14 13:38:32
而且HAVING子句也必須在ORDER BY之前。 – randalv 2013-12-30 19:49:31