在 SQL 服务器表现异常
Distinct in SQL Server acting weird
我有这个 table 和以下数据,我需要它的特定格式
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
我需要 运行 不同的东西,或者 table 会像这样:
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 - 但它不起作用,我得到了相同的结果。
谢谢
您不能使用 Distinct
执行此操作,它将应用于所有列,而不仅仅是一列。您需要 Row_Number
window 函数来执行此操作
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
我有这个 table 和以下数据,我需要它的特定格式
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
我需要 运行 不同的东西,或者 table 会像这样:
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 - 但它不起作用,我得到了相同的结果。
谢谢
您不能使用 Distinct
执行此操作,它将应用于所有列,而不仅仅是一列。您需要 Row_Number
window 函数来执行此操作
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