在SQL Server中的ORDER BY中使用if / case语句

时间:2014-03-21 17:11:01

标签: sql sql-server sql-order-by case

我有一个存储过程来获取数据,并且当前按如下方式对其进行排序:

ORDER BY    dateEsc desc, prio desc, EID desc

有没有办法可以说IF prio =" Urgent"那么在我的结果的最上面放了这样的记录,只有剩下的记录才能应用上面的顺序吗?

1 个答案:

答案 0 :(得分:3)

以下内容将起作用,因为当prio = 'Urgent'时,新条件将生成0 else 1并首先按此值排序;然后按其他条件排序......

ORDER BY CASE WHEN prio = "Urgent" THEN 0 ELSE 1 END,
    dateEsc desc, prio desc, EID desc