gpt4 book ai didi

mysql - 按集合中的值序列排序

转载 作者:行者123 更新时间:2023-11-29 02:23:06 26 4
gpt4 key购买 nike

我怎样才能将名称按其在集合中的顺序排序(它是一个变量,其中我将 ID 逗号分隔为“4,3,2”)?到目前为止,名称是按 id“2,3,4”排序的。这是我的子查询。

SELECT GROUP_CONCAT(t.name SEPARATOR ',') FROM table t WHERE find_in_set(t.id, "4,3,2") > 0

最佳答案

您可以使用 order bygroup_concat函数按照您在 find_in_set 中拥有 ID 的相同顺序对名称进行排序, find_in_set返回匹配值的索引,例如对于 id => 4 索引将为 1 对于 id=> 3 索引将为 2 因此您可以使用 find_in_set 的结果对结果进行排序

SELECT 
GROUP_CONCAT(t.name ORDER BY FIND_IN_SET(id, "4,3,2") SEPARATOR ',' )
FROM t
WHERE FIND_IN_SET(t.id, "4,3,2") > 0

DEMO

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

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