select * from tbl_journal A inner join
(select Period, LegalEntity,ino_id,BUZEI from tbl_Journal where period>'201405'
group by Period,LegalEntity,ino_id,BUZEI having COUNT(*)>1 ) B
ON A.Period=b.Period and a.LegalEntity=b.LegalEntity and a.ino_id =b.ino_id and a.BUZEI=b.BUZEI
order by a.Period, a.LegalEntity, a.ino_id, a.BUZEI
以上这个SQL可以查询多条重复数据。
请问咱根据Period, LegalEntity, ino_id, BUZEI 这四个主键, 删除重复列?, 只保留一条数据。
求大神们解答
------解决思路----------------------
DELETE t
FROM
(SELECT *,ROW_NUMBER() OVER(PARTITION BY Period
,LegalEntity
,ino_id
,BUZEI ORDER BY Period) AS Row FROM tbl_journal
) AS t
WHERE Row>1