我有一个名为“ Customers”的数据库表,如下所示:
Sl Name Profession
1 ABC Doctor
2 QWE Engineer
3 ERT null
4 DEF Doctor
5 JGJ null
我想对这张表进行排序,因为所有带有专业名称的名称都位于开头,而没有专业名称(null)的名称位于底部,例如:
Sl Name Profession
1 ABC Doctor
2 QWE Engineer
4 DEF Doctor
5 JGJ null
3 ERT null
是否有任何查询可以做到这一点?在此先感谢。
答案 0 :(得分:2)
NULL
排序第一,而不是最后。将NULL
值逼到底部的一种通用方法是使用CASE
或IF
表达式:
SELECT
Sl, Name, Profession
FROM yourTable
ORDER BY
IF(Profession IS NOT NULL, 0, 1),
Sl;
答案 1 :(得分:0)
使用order by
select * from table_name
order by case when Profession is not null then 1 else 2 end
没有DB引擎可以在不使用order by的情况下为您提供订单行