2
實施例的表:ORDER BY與CASE - 多個列
tableId otherValue
1 4
2 3
3 2
4 1
我基於所述tableId
選擇數據以特定的順序 - 當數值爲1或2,然後返回它,否則返回他人。現在我想根據otherValue
添加一個額外的排序參數。
如下所示,只需在CASE
,ORDER BY
之後添加它將不起作用,因爲使用了WITH TIES
。
SELECT TOP 1 WITH TIES tableId, otherValue
FROM exampleTable
ORDER BY (CASE WHEN tableId IN (1, 2) THEN 1 ELSE 2 END), otherValue
有沒有比外部查詢更好的方法呢?
我不這麼認爲。如果您使用SQL 2012及更高版本,則可以使用IIF()。它有點乾淨。 – FLICKER
1或2的順序?這意味着您已經通過tableId或otherValue進行了排序 –