如何在sql中首先按具有非空值的列排序 [英] How to order by column with non-null values first in sql

查看:39
本文介绍了如何在sql中首先按具有非空值的列排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要写一个sql语句来选择所有按姓、名排序的用户.这是我知道该怎么做的部分:) 我不知道怎么做的是首先按非空值排序.现在我明白了:

I need to write a sql statement to select all users ordered by lastname, firstname. This is the part I know how to do :) What I don't know how to do is to order by non-null values first. Right now I get this:

空,空
空,空
p1Last, p1First
p2Last, p2First

null, null
null, null
p1Last, p1First
p2Last, p2First

我需要:

p1Last,p1First
p2Last, p2First
空,空
空,空

p1Last, p1First
p2Last, p2First
null, null
null, null

有什么想法吗?

推荐答案

参见 Sort Values Ascending But NULLS最后

基本上

SELECT *
    FROM @Temp
    ORDER BY CASE WHEN LastName IS NULL THEN 1 ELSE 0 END, LastName

这篇关于如何在sql中首先按具有非空值的列排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆