sql - 按顺序排列 MySQL 结果?

标签 sql mysql

当我使用 IN 从表中选择一组行时,例如

SELECT x.y, x.z FROM x WHERE x.id IN (23, 55, 44, 12)

是否有一个 SQL 技巧可以让它们按照 IN 集中给定的顺序返回?

因此,在示例中,假设 x 具有 id 为 23、55、44 和 12 的行,这四行将按该顺序返回。

最佳答案

SELECT x.y, x.z FROM x WHERE x.id IN (23, 55, 44, 12)
ORDER BY FIELD (x.id, 23, 55, 44, 12)

关于sql - 按顺序排列 MySQL 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2348145/

相关文章:

mysql - SQL 在不知道列名的情况下更新行

sql - 插入空目标表时进行逻辑读取

mysql - 如何在mysql查询中对计算字段进行四舍五入

sql - MySQL重复行

python - 收货数量及表字段列表

php - 在嵌套的 foreach 循环中使用嵌套查询

java - 在表中添加行的问题

sql - 何时在 ORM 中使用复合主键模型进行 INSERT 或 UPDATE?

MYSQL:子查询到主查询中更新的表

mysql - OR 在 INNER JOIN 3 表上