如何依照條件依照不同欄位排序
在MySQL 中,可以依照條件依照不同列排序資料使用SQL 函數或CASE語句。
使用 IF函數:
要在 ORDER BY 子句中使用 IF 函數,可以指定兩個用逗號分隔的表達式。第一個表達式是決定使用哪個表達式的條件。第二個表達式是條件為 true 時所使用的值。
例如:
ORDER BY IF(TYPE='Member', LNAME, GROUPNAME) ASC
如果 TYPE 列等於 ',則此語句將按 LNAME 列對資料進行排序Member',如果 TYPE 列等於“Group”,則按 GROUPNAME 列。
使用 CASE語句:
CASE 語句是一種更靈活的選項,用於根據條件按不同列對資料進行排序。它允許您指定多個條件和相應的表達式。
例如:
ORDER BY CASE `type` WHEN 'Member' THEN LNAME WHEN 'Group' THEN GROUPNAME ELSE 1 END ASC
在此語句中,如果type 列等於',則資料將按LNAME 列排序Member',如果類型列等於“Group”,則按GROUPNAME 列,否則按值1。
以上是MySQL中如何根據條件對不同欄位的資料進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!