我有一個表的格式如下行:在MySQL(複合鍵)查找重複的行
transactionDate, purchaseOrderId
8/8/2012, 55
8/9/2012, 55
8/8/2012, 88
8/9/2012, 55
8/10/2012, 77
我想找到其中transactionDate和purchaseOrderId都是準確的所有行。因此,下面兩行是重複的:
8/9/2012, 55
8/9/2012, 55
我使用下面的查詢嘗試:
SELECT
transactionDate, purchaseOrderId
FROM
purchases
GROUP BY
transactionDate, purchaseOrderId
HAVING COUNT(*) > 1;
但是它返回的8月8日的結果,除了8月9日的結果。如何讓它只返回兩個列都被複制的字段(而不是每個日期都返回所有事務)?
謝謝。
該查詢對我來說看起來是正確的 - 可能值得再次檢查您的數據? – FJT
@FionaT - 我再次看了看,我認爲你確實是對的。我沒有預料會有數百萬行的重複,但我檢查過的隨機行正在重複(表格非常大 - 超過2000萬行)。所以也許我的原始查詢是正確的。 – David