gpt4 book ai didi

mysql - 如何在 MySQL 中按条件排序?

转载 作者:行者123 更新时间:2023-11-29 05:06:44 24 4
gpt4 key购买 nike

很难表达...因为我要找的不是 ORDER BY 或 ORDER BY FIELD。

我有这个问题:

SELECT * 
FROM table
WHERE name LIKE '%xxx%'
OR category_name LIKE '%xxx%'
OR description LIKE '%xxx%';

我需要的是根据以下内容对结果进行排序: - 首先,那些与“名称”字段相匹配的 - 其次,类别名称 - 最后,描述

所以我对结果进行了排序,首先是在名称中找到“xxx”的结果。

正如我所说,这不是 ORDER BY ,因为该排序结果基于 VALUE,而不是字段匹配。

最佳答案

您可以在 order by 中使用 case 来根据您的标准对结果进行排序,例如

SELECT 
*
FROM
TABLE
WHERE (
`name` LIKE '%xxx%'
OR category_name LIKE '%xxx%'
OR description LIKE '%xxx%'
)
ORDER BY
CASE
WHEN `name` LIKE '%xxx%'
THEN 0
WHEN category_name LIKE '%xxx%'
THEN 1
WHEN description LIKE '%xxx%'
THEN 2
ELSE 3
END ASC

关于mysql - 如何在 MySQL 中按条件排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46464554/

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