按IN顺序排序MySQL结果? [英] Ordering MySQL results by IN sequence?

查看:108
本文介绍了按IN顺序排序MySQL结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When I select a set of rows from a table using IN, e.g.

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

是否有SQL技巧可以按照IN集中给定的顺序将它们取回?

is there an SQL trick to get them back in the order given in the IN set?

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

So in the example, assuming x has rows with ids 23, 55, 44 and 12, those four rows would be returned in that order.

推荐答案

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

这篇关于按IN顺序排序MySQL结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆