首页 > 解决方案 > MySQL:按照一定的字母顺序对查询进行排序

问题描述

我想按照一定的字母顺序订购一个 MySQL 查询。更准确地说,字母表的起始字母可能会根据网页而改变。

例如,我想根据这些订单通过查询订购:

[B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z ,A] 或 [H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A,B,C,D ]

假设我的查询非常简单,如下所示:

SELECT name
FROM table
ORDER BY name ASC

是否可以仅使用 MySQL 来执行此操作?

非常感谢。

标签: phpmysqlsortingalphabetical

解决方案


SELECT * FROM my_table;
+-----+---------------+
| id  | element       |
+-----+---------------+
|  88 | Actinium      |
|  12 | Aluminium     |
|  94 | Americium     |
...
|  69 | Ytterbium     |
|  38 | Yttrium       |
|  29 | Zinc          |
|  39 | Zirconium     |
+-----+---------------+

SELECT * FROM my_table ORDER BY element <'M',element;
+-----+---------------+
| id  | element       |
+-----+---------------+
|  11 | Magnesium     |
|  24 | Manganese     |
| 108 | Meitnerium    |
...
|  81 | Lead          |
|   2 | Lithium       |
| 115 | Livermorium   |
|  70 | Lutetium      |
+-----+---------------+

推荐阅读