如何将所有非空值移到我的列的顶部?

时间:2019-06-01 21:13:45

标签: sql sql-server

我的表中有以下数据:

   | Id  |  lIST_1      |
   ----------------------
   | 1   |  NULL        |
   | 2   |  JASON       |
   | 3   |  NULL        |    
   | 4   |  BANDORAN    |
   | 5   |  NULL        |
   | 6   |  NULL        | 
   | 7   |  SMITH       | 
   | 8   |  NULL        |

如何编写查询以获取下面的输出?

   | Id  |  lIST_1      
   -----------------------
   | 1   |  JASON        |
   | 2   |  BANDORAN     |
   | 3   |  SMITH        |  
   | 4   |  NULL         |
   | 5   |  NULL         |
   | 6   |  NULL         |
   | 7   |  NULL         |
   | 8   |  NULL         |

1 个答案:

答案 0 :(得分:0)

您可以使用throw

order by

目前尚不清楚为什么要select row_number() over (order by (select null)) as id, t.list_1 from t order by (case when list_1 is not null then 1 else 2 end) 更改值,但是您可以使用id

编辑:

如果您想更改row_number(),则可以执行以下操作:

id