SQL Server加一个排序,将指定列的数据放到最前面,使用 order by case when...Then...End,完美解决。
假如我想按“deptName ”排序,并且把“公司领导”排在第一位,“信息化管理部”排在第二位,剩余的还是按“deptName ”排序,SQL如下:
SELECT
QHC006_YEAR year ,
QHC006_DEPARTMENTNAME deptName ,
QHC006_POSTID PostId ,
QHC006_POSTNAME postName
FROM
QHGLT006_DEPTOKRMAIN
ORDER BY
CASE
WHEN QHC006_DEPARTMENTNAME = '公司领导' THEN 0
WHEN QHC006_DEPARTMENTNAME = '信息化管理部' THEN 1
ELSE 9
END,
QHC006_DEPARTMENTNAME
排序前:
排序后: