关于left join 后distinct去重的问题

是这样的 ,因为两表之间是一对多的关系,我在用一个查询条件查询的时候,会查出来多条数据,
但是我想要通过一个字段去重,就是那个字段重复的全部去掉,代码如下:

select   distinct myt.task_seq ,
            mytr.actual_start_date,mytr.actual_end_date,mytr.status         
                    from    
                    mss_yearend_task myt left join 
                    mss_yearend_task_result mytr 
                    on 
                    (myt.task_seq=mytr.task_seq) 
                    where 1=1

我现在想通过myt.task_seq 这个字段去重,应该如何完成呢?现在这个sql 直接报错了。

ok 这个已经知道了 是

select myt.*,mytr.status from mss_yearend_task myt left join(
Select * from
(
select a.*,row_number() over(order by task_seq) r
from mss_yearend_task_result a
) where r = 1 ) mytr
on myt.task_seq = mytr.task_seq

where 1=1

这样写的

你这样不对,要在over行号时增加partition才行,否则右表中只有一条数据:

 select myt.*,mytr.status from mss_yearend_task myt left join(
Select * from 
(
select a.*,row_number() over(**partition by task_seq** order by task_seq) r
from mss_yearend_task_result a
) where r = 1 ) mytr
on myt.task_seq = mytr.task_seq

where 1=1