mysql - 可以对数据库表进行排序以使 NULL 值出现在底部吗?
问题描述
我有一个名为“客户”的数据库表,如下所示:
Sl Name Profession
1 ABC Doctor
2 QWE Engineer
3 ERT null
4 DEF Doctor
5 JGJ null
我想订购这张表,因为所有有职业的名字都在开头,没有职业(空)的名字在底部,像这样:
Sl Name Profession
1 ABC Doctor
2 QWE Engineer
4 DEF Doctor
5 JGJ null
3 ERT null
有什么查询可以做到这一点吗?提前致谢..
解决方案
NULL
MySQL(以及大多数 SQL 风格)中的 s 默认排序在第一个,而不是最后一个。将值强制NULL
到底部的一种通用方法是使用CASE
orIF
表达式:
SELECT
Sl, Name, Profession
FROM yourTable
ORDER BY
IF(Profession IS NOT NULL, 0, 1),
Sl;
推荐阅读
- c# - 点阵POS打印机的USB打印
- python - 在不重复字典键的情况下获得最大对
- elasticsearch - 在具有多个字段的弹性搜索中使用 cutoff_frequency
- ios - Cordova:iOS 10 中的 WKWebView 与 UIWebView
- reactjs - 如何从 react-router v1 迁移到 v4 ?{this.props.children}
- javascript - 使用 youtube iframe 播放器 API 播放背景视频
- javascript - JS Summernote 填充两个元素
- java - 为什么Wildfly 12 中的@Resource 注入需要“java:/”前缀?
- java - 春季可定制的方面
- android - 受信任的 Web 活动/给定的 CustomTabsIntent 应与有效的 CustomTabsSession 相关联