例如以下是一个工资表,里面you很多个部门,现在想按部门顺序输出,而且系统分析部要排第一。
可以利用case when 关键字来实现此目的。
SELECT 人员编号,人员姓名,部门名称,实发合计,工资年,
CASE 工资月份
WHEN 1 THEN '1月份工资'
WHEN 2 THEN '2月份工资'
WHEN 3 THEN '3月份工资'
WHEN 4 THEN '4月份工资'
WHEN 5 THEN '5月份工资'
WHEN 6 THEN '6月份工资'
WHEN 7 THEN '7月份工资'
WHEN 8 THEN '8月份工资'
WHEN 9 THEN '9月份工资'
WHEN 10 THEN '10月份工资'
WHEN 11 THEN '11月份工资'
WHEN 12 THEN '12月份工资'
END
FROM dbo.工资数据表
ORDER BY case when 部门名称='系统分析部' then 0
when 部门名称='软件测试部' then 1
else 2 end
效果如下图