我有一个SQLite数据库,其中包含一个表,表中包含不同名称的行。例如:
| 身份证|姓名|
| - ------|- ------|
| 1个|安东尼|
| 第二章|百分比|
| 三个|十个|
| 四个|堆栈溢出|
| 五个|约翰|
我从这个表中得到数据
SELECT * FROM table WHERE 1 ORDER BY name Asc LIMIT ?, ?
它会回来
| 身份证|姓名|
| - ------|- ------|
| 第二章|百分比|
| 三个|十个|
| 1个|安东尼|
| 五个|约翰|
| 四个|堆栈溢出|
但是我希望它首先返回字母顺序的名字,然后所有其他以非字母开头的名字也按正确的顺序返回。所以我想得到:
| 身份证|姓名|
| - ------|- ------|
| 1个|安东尼|
| 五个|约翰|
| 四个|堆栈溢出|
| 第二章|百分比|
| 三个|十个|
我怎么才能做到呢?
2条答案
按热度按时间sr4lhrrt1#
使用运算符
GLOB
检查名称是否以ORDER BY
子句中的字母开头:请参见demo。
gmxoilav2#
感谢@forpas,只想补充
如果您希望进行不区分大小写的排序,可以尝试如下操作