社区
MS-SQL Server
帖子详情
order by 的时候,如何把null值排在最后面??
chuanyi
2006-01-24 10:27:20
表A:字段:ID
1,2,null,3,null,4,5…………
我想排序成:
1,2,3,4,5,null,null…………
最好不要使用union,因为union 不能使用两个order by,如果把order by 放在最后面,那就成了
null,null,null,1,2,3,4,5……
也不能使用select * from (select * from )这种复合的语句
...全文
1227
10
打赏
收藏
order by 的时候,如何把null值排在最后面??
表A:字段:ID 1,2,null,3,null,4,5………… 我想排序成: 1,2,3,4,5,null,null………… 最好不要使用union,因为union 不能使用两个order by,如果把order by 放在最后面,那就成了 null,null,null,1,2,3,4,5…… 也不能使用select * from (select * from )这种复合的语句
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
terence4444
2006-01-24
打赏
举报
回复
select *
from A
ORDER BY (case WHEN id is NULL then 1 else 0 end)
lsqkeke
2006-01-24
打赏
举报
回复
简化一下:
select * from @u
order by (case when a is null then (select max(a) from @u)+1 else a end )
lsqkeke
2006-01-24
打赏
举报
回复
那就这样啊:
select * from @u order by (case when a is null then cast((select max(a) from @u where a is not null)as int)+1 else a end )
lsqkeke
2006-01-24
打赏
举报
回复
to 楼上 : 你的排序null在前面
-狙击手-
2006-01-24
打赏
举报
回复
select * from @t order by (case when id is null then (select max(id)+1 from @t) else id end )
-狙击手-
2006-01-24
打赏
举报
回复
select * from @t order by (case when id is null then (select max(id)+1 from @t) else id end ) desc
-狙击手-
2006-01-24
打赏
举报
回复
错了,再想
-狙击手-
2006-01-24
打赏
举报
回复
select * from tb order by (case when id is null then 1 else - id end ) desc
chuanyi
2006-01-24
打赏
举报
回复
不行,如果id超過999999999呢?id是不定的
lsqkeke
2006-01-24
打赏
举报
回复
select * from tb order by (case when id is null then 999999 else id end )
999999那个数设置成比最大ID 还大的数字
MySQL中
order
by排序将
NULL
排在最前/
后面
MySQL中
order
by排序将
NULL
排在最前/
后面
MySQL使用
Order
By排序将
NULL
值排
在最后
在MySQL中查询使用Oreder By ASC子句时,默认会把
NULL
值所在行排在最前面,但我们希望把
NULL
值排
到最
后面
,这时候需要在编写SQL语句使用一点技巧。那就是IS
NULL
(排序字段),排序字段 ASC 数据表实例(表名为register) name sortrank ZHANG
NULL
WANG
NULL
...
ORDER
BY 排序时 字段有
NULL
值
NULL
值排
在
后面
一般情况下人们会想到使用非空值代替
NULL
这时使用coalesce()函数 把控制设置为0但是当字段为日期时,这用使用这种写法,即以此日期升序排列,然后把
NULl
值放在
后面
ORDER
BY lend.contract_submit_bank_date IS
NULL
ASC ,lend.contract_submit_bank_date ASC...
PostgreSQL排序把
null
值排
在
后面
null
排在有值的行前面还是
后面
通过语法来指定 --
null
值在前 select * from tablename
order
by id
null
s first; --
null
值在后 select * from tablename
order
by id
null
s last; --
null
在前配合desc使用 select * from tablename
order
by i...
MySQL中
order
by排序将
NULL
排在最前或最
后面
NULL
的意思表示什么都不是,或者理解成“未知”也可以,它与任何值比较的结果都是false注意:默认情况下,MySQL会认为
NULL
值比其他类型的数据小, 也就是说:在
order
by排序的时候,
NULL
是最小的。前提:测试数据。
MS-SQL Server
34,871
社区成员
254,637
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章