排序里 NULL 的位置

ORDER BY 时 NULL 默认排在哪里?MySQL 里升序排末尾、降序排开头。想人为控制空值位置,不需要别的数据库的 NULLS FIRST 语法,有个小技巧。

排序里 NULL 的位置要点

排序里 NULL 的位置示例

						-- 默认:升序时 NULL 沉底
						SELECT product_name, price FROM product ORDER BY price ASC;

						-- 强制让缺价格的商品排在最前
						SELECT product_name, price
						FROM product
						ORDER BY price IS NULL DESC, price ASC;
避坑提醒:用「列 IS NULL」当排序第一关键字是 MySQL 专属惯用法,比记别的库语法更通用。
排序里 NULL 的位置 · NULL 值处理 知识卡片
卡片 06 / 07 · NULL 值处理(1080×1440 速查卡片)

NULL 值处理知识点