在 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