博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql排序让空值NULL排在数字后边
阅读量:4558 次
发布时间:2019-06-08

本文共 1939 字,大约阅读时间需要 6 分钟。

从现实项目需求出发;

有一张城市表;里面有北京、上海、广州、河北、天津、河南6座城市;

mysql> select * from bjy_order; +----+------+ | id | city | +----+------+ |  1 | 北京 | |  2 | 上海 | |  3 | 广州 | |  4 | 河北 | |  5 | 天津 | |  6 | 河南 | +----+------+

要求是让上海排第一个、天津排第二个;

最简单粗暴的方法就是添加一个order_number字段;用来标识顺序的;然后通过order by order_number asc 排序

mysql> select * from bjy_order order by order_number asc; +----+------+--------------+ | id | city | order_number | +----+------+--------------+ |  2 | 上海 |            1 | |  5 | 天津 |            2 | |  1 | 北京 |            3 | |  3 | 广州 |            4 | |  4 | 河北 |            5 | |  6 | 河南 |            6 | +----+------+--------------+

这么做确实能满足需求;但是如果表里面有中国全部的32个省呢?

再如果来个全国的县市表几百个数据呢?而我们只是想让某几个值排最前面就好了;

就如人们大部分人只知道世界第一高峰是珠穆朗玛峰而不去关注第二第三一样;

我们应该首先想到的就是只给需要排在前面的加上排序数字;其他为NULL;

mysql> select * from bjy_order; +----+------+--------------+ | id | city | order_number | +----+------+--------------+ |  1 | 北京 | NULL         | |  2 | 上海 |            1 | |  3 | 广州 | NULL         | |  4 | 河北 | NULL         | |  5 | 天津 |            2 | |  6 | 河南 | NULL         | +----+------+--------------+

然后我们order by一下;

mysql> select * from bjy_order order by order_number asc; +----+------+--------------+ | id | city | order_number | +----+------+--------------+ |  1 | 北京 | NULL         | |  3 | 广州 | NULL         | |  4 | 河北 | NULL         | |  6 | 河南 | NULL         | |  2 | 上海 |            1 | |  5 | 天津 |            2 | +----+------+--------------+

然而即将成功的时候让人沮丧的事情发生了;那些为NULL的排在在最前面;

OK;下面有请今天的主角出场来解决这个问题;

我们来利用is null把sql给稍微改造一下即可;

mysql> select * from bjy_order order by order_number is null,order_number asc; +----+------+--------------+ | id | city | order_number | +----+------+--------------+ |  2 | 上海 |            1 | |  5 | 天津 |            2 | |  1 | 北京 | NULL         | |  3 | 广州 | NULL         | |  4 | 河北 | NULL         | |  6 | 河南 | NULL         | +----+------+--------------+

到此完美实现需求;

白俊遥博客

转载于:https://www.cnblogs.com/shuaibai123/p/5373098.html

你可能感兴趣的文章
二叉树_非递归先中后序_递归非递归求深度
查看>>
20181227 新的目标
查看>>
HDFS写流程
查看>>
生产环境服务器环境搭建+ 项目发布
查看>>
js按条件分类json数组,并合计同组数据(一维转换为二维)
查看>>
Exp6 信息搜集与漏洞扫描
查看>>
redis4安装
查看>>
使用命令wsimport构建WebService客户端[转]
查看>>
第八遍:链接详解
查看>>
Qt5.5 使用smtp发邮件的各种坑
查看>>
js奇葩错误 字符串传递问题
查看>>
人之初,性本恶
查看>>
springboot 端口号
查看>>
使用AChartEngine画动态曲线图
查看>>
安卓项目五子棋代码详解(四)
查看>>
urllib 学习一
查看>>
bzoj4196 [Noi2015]软件包管理器——树链剖分
查看>>
kafka源码阅读环境搭建
查看>>
UI设计
查看>>
androidtab
查看>>