MYSQL排序字段为空的排在最后面

MYSQL排序字段为空的排在最后面,第1张

排序字段为 record_time

1、使用 order by record_time desc 实现降序时, record_time 为 null 数据的会排在数据的最后面

但是, order by record_time 升序时, record_time 为 null 的数据则会排在最前面,如果想要将 record_time

为 null 的数据排在最后,就需要加上 is null 。

因为你的s_score

varchar的,排序是按varchar的顺序排

100

2

100的第一位是1

2

小,所以在2前面,你可以在order

by里转换成number进行排序

适用情况:oracle 对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面关键字:Nulls First;Nulls Last默认情况:null 默认为最大值(即:asc 升序<小-->大>,null值排在最后;desc 降序<大-->小>,null值排在最前面)指定:1.Oracle Order by支持的语法2.指定Nulls first 则表示null值的记录将排在最前(不管是asc 还是desc)3.指定Nulls last 则表示null值的记录将排在最后(不管是asc 还是desc)语法举例:(Table:Tab_A 有部分空值的栏位Col_A)select * from Tab_A order by Tab_A. Col_A (asc/desc) nulls first------>null 值排在最前面select * from Tab_A order by Tab_A. Col_A (asc/desc) nulls last ------>null 值排在最后面其他方法:在order by 的时候,用Nvl、NVL2 、Decode、case .....when....end等函数对栏位的null值进行处理


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9664924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存