我有一个表的格式如下行:在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