MySQL 按所选表的数组值排序

标签 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

最佳答案

您可以尝试find_in_set():

ORDER BY find_in_set(id, aFieldFromTheTableIAmSelecting)

关于MySQL 按所选表的数组值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891073/

相关文章:

mysql - 一天后,grails 程序挂起。需要解决方案

php - 链接sql中的两个表以获取动态数据

mysql - SELECT RAND AS 字段同时选择字段修改的其他值

MySQL:如果在 SELECT 语句中找不到记录,则插入数据

php - 从 php 的 mysql 查询中转义字符

java - 返回类型的计数或最大值计数可以返回mysql

mysql - 将一个表中的条目添加到现有表中(两个表都已经有条目)

php - 为什么这个简单的 mysql_query/SELECT/echo 会得到 "Array"作为输出?

php - 我如何使用mysql进行关键字搜索

php - 什么会导致 "too many database connections"