gpt4 book ai didi

mysql - SQL 按查询中的 IN 值序列排序

转载 作者:IT老高 更新时间:2023-10-29 00:15:13 25 4
gpt4 key购买 nike

例如我有这个代码:

SELECT *
FROM table_name
WHERE column_name IN (value6,value4,value11,value19)

有没有办法按照查询中的确切顺序对结果进行排序?上面的代码返回 table_name 的默认顺序,完全不考虑 IN 值的顺序。我知道我可以在 PHP 中进行额外的编码以根据 IN 值正确排序它们,但这会产生很大的开销。

最佳答案

SELECT 
*
FROM
table_name
WHERE column_name IN (value6,value4,value11,value19)
ORDER BY FIELD(column_name,value6,value4,value11,value19)

此处解释:http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_field

  • FIELD(str,str1,str2,str3,...)

Returns the index (position) of str in the str1, str2, str3, ... list. Returns 0 if str is not found.

关于mysql - SQL 按查询中的 IN 值序列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4979424/

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