mysql - 如何按字母顺序对 mysql 行进行排序

标签 mysql

我有:

 ----------------------------
| ID          |  Workout     |
|_____________|______________|
| 1           |What Chest    |
| 2           |Me self it's  |
| 3           |End workout   |
_____________________________

基本上我有一个like查询,它是:

SELECT * FROM db.table WHERE wourkout LIKE '%e%'

现在我需要根据行中第一个字母 e 对找到的行进行排序。 准确地说,它应该这样排序:

 ----------------------------
| ID          |  Workout     |
|_____________|______________|
| 1           |End Workout   |
| 2           |Me self it's  |
| 3           |What Chest    |
_____________________________

如您所见,我的End锻炼行在其他行之前包含字母e

最佳答案

SELECT * FROM db.table
WHERE workout LIKE '%e%'
ORDER BY INSTR(workout, _utf8'e') ASC

只要 workout 不是二进制字符串,INSTR 就会返回第一个 "e" (或 E) 在锻炼中; 1 代表第一名,2 代表第二名...

关于mysql - 如何按字母顺序对 mysql 行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41996822/

相关文章:

mysql根据值的总和进行排名

php - 问题搜索数据库

php - 如何在计数中加上逗号?

php - 无法使用 safemysql 插入或选择数据库

MySQL ORDER BY CASE/IF 相关问题

c# - 与 MySql (ADO.NET) 的数据连接 - ConsoleApplication C# vs2015

mysql - SQL查询根据ID聚合记录

sql - 使用 join、where、group by 和 count 加速查询

mysql - 如何在virtualenv中安装mysql?

Java mysql 连接本地主机