Mysql
具有多個訂單標準的逐案排序
我想知道如何將多個訂單列與案例一起使用。例如案例 1,按 FirstName、GivenName 排序 案例 2 按 GivenName、FirstName 排序。
我試過這個,但看起來冒號會引入錯誤
當 1 then FirstName, GivenName else GivenName, FirstName end 時按大小寫排序
Case 應該返回一個值,而不是元組。此外,您應該將 1 與某物進行比較。如果你想要條件排序,你可以用兩個 case 語句來做到這一點:
ORDER BY CASE WHEN x = 1 THEN FirstName ELSE GivenName END , CASE WHEN x = 1 THEN GivenName ELSE FirstName END
對於多個條件 ORDER BY 語句:
ORDER BY CASE category WHEN 0 THEN concat(cName,', ',bName) END DESC, CASE category WHEN 1 THEN concat(aName,', ',bName,', ',cName) END DESC, CASE category WHEN 2 THEN concat(bName,', ',aName,', ',cName) END DESC";