mysql - 两个 LIKE 条件,但首先从一个条件中检索,然后从另一个条件中检索

标签 mysql sql

   SELECT *
   FROM address 
   WHERE name LIKE 'a%' OR name LIKE '% a%' LIMIT 10

此查询检索以 a 开头的 name'a%'
或者在中间的一个词中 '% a%'。如何首先从 LIKE 'a%' 检索结果
然后 LIKE '% a%'?

最佳答案

添加ORDER BY子句,

SELECT *
FROM address
WHERE name LIKE 'a%' OR name LIKE '% a%' 
ORDER BY CASE WHEN name LIKE 'a%' THEN 0 ELSE 1 END
LIMIT 10

关于mysql - 两个 LIKE 条件,但首先从一个条件中检索,然后从另一个条件中检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16028185/

相关文章:

mysql - SQL:查询格式化

sql - 一次查询中总和的平均值

mysql - 按 SELECT 子查询的最后一行排序

php - mysql查询只选择第一条记录

mysql - 在结果表中显示 MYSQL 变量

带有可能有或可能没有数据的表的 MySQL 查询

sql - 如何计算行组并显示顶部/底部 3 个

mysql - 一对多关系中仅具有主标志的一条记录的唯一索引

启动时 MySQL++ 应用程序错误

python - 使用 pyodbc 从 Linux 到 Windows SQL Server 进行身份验证