SQL删除最旧日期的重复项

时间:2013-06-05 09:50:18

标签: sql duplicates

我是SQL新手并试图将Excell报告放在一起,如果在另一个字段中找到重复项,则只会返回最年轻的条目。

SELECT distinct [Barcode]
      ,[Code]
      ,[Description]
      ,[TransactionType]
      ,[Date]
      ,[From Qty]
      ,[DocumentReference]
      ,[DocumentNumber]
      ,[Site]
  FROM [GRANITE].[dbo].[Report_App_Transactions]where TransactionType='pick'

我的目标是在" Barcode"中找到重复的内容。并且仅按照"日期"

返回最年轻的值

1 个答案:

答案 0 :(得分:1)

select * 
from [GRANITE].[dbo].[Report_App_Transactions] r1
inner join 
(
    select barcode, max(date) as mdate
    from [GRANITE].[dbo].[Report_App_Transactions]
    group by barcode
) r2 on r1.barcode = r1.barcode and r2.mdate = r1.date
where r1.TransactionType='pick'