MYSQL - SELECT IN () ORDER BY IN ()

标签 mysql sql select sql-order-by

如果我这样选择:

SELECT id FROM users WHERE id IN(3,4,8,1);

默认情况下将按此顺序选择用户

1,
3,
4,
8,

我想按照输入 IN() 值的相同顺序选择它们:

   3,
   4,
   8,
   1

这可能吗?

最佳答案

使用FIELD()为此

SELECT id 
FROM users 
WHERE id IN(3,4,8,1)
order by field(id, 3,4,8,1)

关于MYSQL - SELECT IN () ORDER BY IN (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19809328/

相关文章:

sql - 逗号分隔字段上的表值函数 (TVF)

javascript - 按类名选择一个 div

mysql - 授予所有特权对我不起作用

sql - 比较2张表,发现不存在 "id"

php - 事件记录根据特定条件从两个表中选择行

mysql - 分解大型 SQL 命令/性能 (MySQL)

php - 在 MySQL 中查询非转义字符串

MySQL查询以根据两列的值获取所有重复项

mysql - 按月分组并添加多列

php - while 中的变量数组