0
我想訂購mysql記錄的一列,其值以N,Y,F,P,U開頭。列的類型是VARCHAR。我想根據此列的值的第一個字母按列排序。 特定的順序是N - Y - F - P - U。 因此,第一條記錄必須是某個列的值爲N的記錄,第二條記錄的列的值以Y開頭,依此類推。如何以自定義順序排列mysql行?
如何按列的值的第一個字母排序?
我想訂購mysql記錄的一列,其值以N,Y,F,P,U開頭。列的類型是VARCHAR。我想根據此列的值的第一個字母按列排序。 特定的順序是N - Y - F - P - U。 因此,第一條記錄必須是某個列的值爲N的記錄,第二條記錄的列的值以Y開頭,依此類推。如何以自定義順序排列mysql行?
如何按列的值的第一個字母排序?
SELECT
...
ORDER BY
CASE SUBSTR(one_column,1,1)
WHEN 'N' THEN 0
WHEN 'Y' THEN 1
WHEN 'F' THEN 2
WHEN 'P' THEN 3
WHEN 'U' THEN 4
ELSE 5
END
...或加入查找值表或使用IF函數將char映射到數字。
....和往常一樣,正確的答案是規範化您的數據。 – symcbean