0

我想按值以 N、Y、F、P、U 开头的一列对 mysql 记录进行排序。列的类型是 VARCHAR。我想根据该列值的第一个字母按列排序。具体顺序是 N - Y - F - P - U。所以第一条记录必须是某个列的值为 N 的记录,第二条记录的该列的值必须以 Y 开头,依此类推。

如何按列值的第一个字母排序?

4

1 回答 1

3
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 函数将字符映射到数字。

于 2013-10-25T19:23:38.753 回答