我寫這個代碼,以查找重複,它工作正常:返回所有的重複行
SELECT *
FROM StyleTable
GROUP BY Color
HAVING count(*) > 1
的問題是,它的返回只是重複的行之一。是否有可能返回所有重複的行?我猜這可能與'GROUP BY'有關,但我不知道如何改變它。我不想刪除這些值,只是返回它們。
我寫這個代碼,以查找重複,它工作正常:返回所有的重複行
SELECT *
FROM StyleTable
GROUP BY Color
HAVING count(*) > 1
的問題是,它的返回只是重複的行之一。是否有可能返回所有重複的行?我猜這可能與'GROUP BY'有關,但我不知道如何改變它。我不想刪除這些值,只是返回它們。
你必須重新回到表格才能得到我認爲的副本。喜歡的東西:
SELECT *
FROM StyleTable
WHERE Color IN (
SELECT Color
FROM StyleTable
GROUP BY Color
HAVING count(*) > 1
)
謝謝,這工作。我可以在幾分鐘內接受。 – XSL 2012-03-05 22:20:14
SELECT s.*
FROM StyleTable s
INNER JOIN (SELECT Color
FROM StyleTable
GROUP BY Color
HAVING COUNT(*) > 1) q
ON s.Color = q.Color
我覺得這SQL不會跑,除非顏色在STyleTable表中唯一的列。 – theglauber 2012-03-05 22:14:34