我有这个表包含以下数据,我需要它以某种格式
Number | CustName | Name | QtyCust | QtyMly
--------+-----------+-------+-----------+------------------
1 | | AA | 5067 | 56
2 | | BB | 567 | 455
3 | | CC | 12 | 244
4 | | DD | 43 | 86
4 | AOAO | DD | 45 | 437
5 | | EE | 655 | 417
5 | BOBO | EE | 45 | 397
6 | | FF | 345 | 233
6 | COCO | FF | 877 | 43
7 | | GG | 67 | 87
8 | | HH | 469 | 98
我需要运行distinct或者表格将是这样的东西:
Number | CustName | Name | QtyCust | QtyMly
--------+-----------+-------+----------+------------
1 | | AA | 5067 | 56
2 | | BB | 567 | 455
3 | | CC | 12 | 244
4 | AOAO | DD | 45 | 437
5 | BOBO | EE | 45 | 397
6 | COCO | FF | 877 | 43
7 | | GG | 67 | 87
8 | | HH | 469 | 98
我尝试使用distinct - 但它不起作用,我得到了相同的结果。
由于
答案 0 :(得分:2)
您无法使用Distinct
执行此操作,它将适用于所有列而不仅仅是一列。您需要Row_Number
窗口功能才能执行此操作
select * from
(
select row_number()over(partition by Name order by case when CustName <> '' then 1 else 2 end) as rn,*
From yourtable
) a
Where Rn = 1