3
我只是想從表中返回重複的記錄。在我的情況下,如果多個記錄在col1,col2,col3和col4中具有相同的值,則記錄會重複。返回重複記錄
我只是想從表中返回重複的記錄。在我的情況下,如果多個記錄在col1,col2,col3和col4中具有相同的值,則記錄會重複。返回重複記錄
SELECT col1, col2, col3, col4
, COUNT(*) AS cnt
FROM yourTable
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1
如果有要顯示的附加列,您可以在上述JOIN
表:
SELECT t.*
, dup.cnt
FROM yourTable t
JOIN
(SELECT col1, col2, col3, col4
, COUNT(*) AS cnt
FROM yourTable
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1
) AS dup
ON t.col1 = dup.col1
AND t.col2 = dup.col2
AND t.col3 = dup.col3
AND t.col4 = dup.col4
SELECT m.*
FROM (
SELECT col1, col2, col3, col4, COUNT(*)
FROM mytable
GROUP BY
col1, col2, col3, col4
HAVING COUNT(*) > 1
) md
JOIN mytable m
ON m.col1 = md.col1
AND m.col2 = md.col2
AND m.col3 = md.col3
AND m.col4 = md.col4
這會不會只是返回所有行鍼對'COL1, col2,col3,col4'都是'NOT NULL'? – 2011-05-04 15:17:19
@Martin:當然。 – Quassnoi 2011-05-04 15:27:20