gpt4 book ai didi

Mysql 查询列表中 LIKE 的顺序

转载 作者:行者123 更新时间:2023-11-29 10:54:15 26 4
gpt4 key购买 nike

我的表结构是

id | name 
--------
1 Test name

2 Test name1

3 Name1

4 name2

5 Name6

6 Name7

7 AA Name1

8 AA Name2

如果我使用查询

select name from table like '%na%' order by name asc limit 5;

结果将是

AA Name1

AA Name2

Name1

Name2

Name6

我需要一个查询来显示以下结果

Name1

Name2

Name6

Name7

AA Name1

因为我有 table 如果我输入 p 我需要结果perl、php、phython 在“apple script”之前

最佳答案

您可以在 ORDER BY 中使用 CASE 来确定记录是否以 na 开头。

SELECT name 
FROM table
WHERE name LIKE '%na%'
ORDER BY CASE WHEN name LIKE 'na%' THEN 0 ELSE 1 END, name
LIMIT 5;

或者您可以使用 INSTR 按记录中 na 的位置进行排序。

SELECT name 
FROM table
WHERE name LIKE '%na%'
ORDER BY INSTR(name,'na'), name
LIMIT 5;

关于Mysql 查询列表中 LIKE 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43257655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com