orderBy排序,null在最后
发表于|更新于
|浏览量:
优于别人,并不高贵,真正的高贵应该是优于过去的自己。——海明威
我们进行排序查询时:
1 | SELECT * FROM `user` ORDER BY username |
可以看到null值排到了最上

如果我们要将null值排到最下方可以使用:
1 | SELECT * FROM `user` ORDER BY ISNULL(username),username |
执行结果:

这是因为ISNULL函数将其转换为了0和1,我们可以顺带查询出来看看:
1 | SELECT *,ISNULL(username) FROM `user` ORDER BY ISNULL(username),username |

相关推荐
2021-12-27
h2database
走的慢的人,只要他不丧失目标,也比漫无目的徘徊的人走得快。——莱辛 首先新建一个项目,勾选MP和H2 编写配置文件 1234567891011121314151617# DataSource Configspring: datasource: driver-class-name: org.h2.Driver schema: classpath:db/schema-h2.sql data: classpath:db/data-h2.sql url: jdbc:h2:mem:test username: root password: test# Logger Configlogging: level: com.baomidou.mybatisplus.samples.quickstart: debugmybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 然后是数据表结构以及数据文件: schema-h2.sql...
2020-08-14
mysql join
首先先放张图 今天聊聊mysql表join连接,其本质是拿主表每条数据取出来和子表每行数据进行循环比较,如果满足则返回,不满足返回null 首先是内连接 两者之间取交集,两边都满足返回,不满足不返回 语法很简单 1234567SELECT * FROM tb_goods a INNER JOIN tb_goods_desc b WHERE a.id = b.goods_id 其中,INNER可以省略掉只写个JOIN 然后是左外连接 左外连接,此时可以理解为理解 左表为主表,右表为子表。在条件不满足时,左表数据存在,右表数据为null 简单来说就是结果集包含左表所有行,右表不匹配则为null 12345SELECT * FROM sp_user a LEFT OUTER JOIN tb_seller b ON a.seller_id = b.seller_id 其中,OUTER可省略 反向操作一波就是右外连接 1234567SELECT * FROM tb_seller a RIGHT OUTER JOIN sp_user b ON a.seller_id = b.sell...
2021-02-10
自增sql
所谓觉悟,就是在漆黑的荒野上开辟出一条理当前进的道路。——乔鲁诺.乔巴纳 我们可以使用 1update user set age=age+1 where id = 1 来让age在原来的基础上+1
2021-01-02
mysql对表的操作
如果工作对于人类不是人生强索的代价,而是目的,人类将是多么幸福。—— 罗丹 转,原文 mysql对表的操作 表的概念表是包含数据库中所有数据的数据库对象。表中的数据库对象包含列、索引、触发器。其中触发器是指用户定义的事务命令集合,当对一个表中的数据进行插入、更新或者删除时,这组命令就会自动执行,可以确保数据的安全性和完整性。 创建表create table tableName(属性名 字段类型,属性名 字段类型,……属性名 字段类型);最后一个字段类型后面没有逗号,整个语句的小括号后边有分号。 例如:创建一个数据库,并且创建一张表:create database 数据库名;show databases; //查看当前用户下mysql中所有的数据库use 数据库名; //使用这个数据库create table class(id Integer primary key auto_increment,name varvhar(32),number int);//创建了一张有三列的表,表名为class。id 为整型,主键且...
2022-12-11
order by field
勿以己才而笑不才——房玄龄 分享一个函数field 首先在mysql内置函数的文档地址能找到这个函数: https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html 这里告诉我们,这个函数可以这么用,寻找第一个参数所在的下标位置,找不到为0: 1234mysql> SELECT FIELD('Bb', 'Aa', 'Bb', 'Cc', 'Dd', 'Ff'); -> 2mysql> SELECT FIELD('Gg', 'Aa', 'Bb', 'Cc', 'Dd', 'Ff'); -> 0 因为此处支持传入表字段 然后我们可以在查询时使用ORDER BY FIELD(字段,已存在的排好序的字段值)
2025-06-29
dble
好学近乎知,力行近乎仁,知耻近乎勇。一一《中庸》 https://github.com/actiontech/dble https://opensource.actionsky.com/ dble:高性能 MySQL 分库分表中间件,助力数据库水平扩展在互联网业务持续增长的今天,单台 MySQL 数据库的性能瓶颈和容量瓶颈愈发突出。面对数据量级和访问压力的持续提升,如何平滑实现 MySQL 的分库分表和在线扩展,成为众多企业技术团队亟需解决的问题。由上海爱可生信息技术股份有限公司开源和维护的 dble(发音为“double”,取意“更少 bug,没有 ou”),正是面向这一需求的专业级解决方案。 一、dble 简介dble 是一款专为 MySQL 设计的高可扩展性数据库中间件,其核心功能是实现 MySQL 的分库分表(Sharding)、高可用集群和复杂 SQL 的分布式优化。dble 诞生于实践一线,已在银行等关键场景大规模应用,并作为爱可生公司“云树分布式数据库软件(CTREE Shard)”的开源版本持续迭代。 二、核心特性1. 透明分库分表 支持在业务无感知的情况...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog