MySQL – 查询按IN的顺序输出结果

在用 SELECT 查询的时候,如果用到了 IN ,那么查询结果中的顺序并不是按照 IN 后面所给的顺序返回,而是按照默认的升序排列。如下:

而如果想要让查询结果按照 IN 里面给的顺序的话,这里有几种方法:

转自:@喵了个咪

一、使用 FIND_IN_SET 建立一个派序列:

下面这样可以看到 FIND_IN_SET 的操作方式:也就是 FIND_IN_SET 这个函数返回一个 1-n 递增的字符串,而ORDER BY 这个字符串就相当于是按升序排列了,而这个 1-n 对应着给入的那些 id

二、自己构建一个顺序 id 表,左连接 IN 查询结果集:

三、使用 UNION :

    分享到:
发表评论?

1 条评论。

发表评论