MySQL按所选表的数组值排序

时间:2019-04-28 14:08:11

标签: mysql

例如

ORDER BY field(id, 9, 1, 4)

我可以在9,1,4点前订购。

是否也可以用逗号分隔的相同表来排序?

我尝试过

ORDER BY field(id, aFieldFromTheTableIAmSelecting)

其中aFieldFromTheTableIAmSelecting为“ 9,1,4”

但这不起作用。

此问题类似于MySQL sort order by array value

2 个答案:

答案 0 :(得分:1)

您可以尝试find_in_set()

ORDER BY find_in_set(id, aFieldFromTheTableIAmSelecting)

答案 1 :(得分:0)

您可以使用locate()

ORDER BY locate(concat(',', id, ','), concat(',', aFieldFromTheTableIAmSelecting, ','))

aFieldFromTheTableIAmSelecting内不能有空格。