如何在不创建临时文件的情况下根据条件删除重复行 table

How to remove duplicate rows based on condition without creating temp table

谁能帮我查询一下结果。我已经被困在这里几个小时了。抱歉,我是 SQL 的新手。我需要从 Column1 和 Column2

中获取没有重复值的最新日期(column3)
SELECT COLUMN1, COLUMN2, COLUMN3
FROM TABLE1 t1
LEFT JOIN
     TABLE2 t2
 ON t1.column1 = t2.column1

Table 值:

COLUMN1        COLUMN2        COLUMN3
VAL1             1234        2019-05-12    
VAL1             1234        2019-04-12
VAL1             1234        2019-12-12
VAL2             4321        2019-11-12
VAL2             3333        2019-12-12
VAL3             2222        2019-10-10

预期结果:

COLUMN1         COLUMN2        COLUMN3
VAL1             1234        2019-12-12
VAL2             3333        2019-12-12
VAL3             2222        2019-10-10

SQL Fiddle

MS SQL Server 2017 架构设置:

create table MyTable (COL1 varchar(max), COL2 int,COL3 date)
insert into MyTable (COL1, COL2,COL3 )VALUES('VAL1',1234,'2019-05-12')
insert into MyTable (COL1, COL2,COL3 )VALUES('VAL1',1234,'2019-04-12')
insert into MyTable (COL1, COL2,COL3 )VALUES('VAL1',1234,'2019-12-12')
insert into MyTable (COL1, COL2,COL3 )VALUES('VAL2',4321,'2019-12-12')
insert into MyTable (COL1, COL2,COL3 )VALUES('VAL2',3333,'2019-12-12')
insert into MyTable (COL1, COL2,COL3 )VALUES('VAL3',2222,'2019-10-10')

查询 1:

select t.COL1,t.COL2,t.COL3
from (select m.*,
             row_number() over (partition by m.COL1
                                order by m.COL2,m.COL3 desc) as seqnum
      from MyTable m
     ) t
where t.seqnum=1

Results:

| COL1 | COL2 |       COL3 |
|------|------|------------|
| VAL1 | 1234 | 2019-12-12 |
| VAL2 | 3333 | 2019-12-12 |
| VAL3 | 2222 | 2019-10-10 |