我正试图在同一个表中的3列中查找重复的数据。我正在寻找具有相同参考号的任何订单,前提条件& DatePlaced。如何查找表中的重复数据
例如,由于所有三个标准都得到满足,因此将显示DatePlaced 02/08/17从PremiseId 67890的参考号为12345的订单。
这是我到目前为止,这是从本网站上的另一个答案采取的。
SELECT ReferenceNumber, PremiseId, DatePlaced
FROM [ypolive_Integration].[dbo].[OrderHeaders]
WHERE ReferenceNumber in
(SELECT ReferenceNumber FROM [ypolive_Integration].[dbo].[OrderHeaders]
GROUP BY ReferenceNumber
HAVING COUNT(*)>1)
Order By DatePlaced desc
这是返回结果ReferenceNumber,PremiseId & DatePlaced。但是,这显示了所有数据,我只希望它显示符合所有三个条件的重复项。
我在这种事情上是非常多的新手,所以如果这是完全错误的道歉!
现在这解决了下面的代码:
select ReferenceNumber, PremiseId , CONVERT(VARCHAR(10),DatePlaced, 112) as
DatePlaced,count(1) as cnt
from [ypolive_Integration].[dbo].[OrderHeaders]
group by ReferenceNumber, PremiseId , CONVERT(VARCHAR(10),DatePlaced, 112)
having count(1) > 1
order by DatePlaced desc
你使用MySQL或MS SQL Server?不要标记不涉及的产品。 – jarlh
你可以参考这个链接获得一些想法https://stackoverflow.com/a/2594855/7083586 – Zaza
更新你的问题添加一个适当的数据样本和预期的结果 – scaisEdge