mysql in 子字句乱顺问题

发现 mysql in子句存在乱序问题。

 

select id from auth_user where id in(131482, 48, 801, 238640)
 

因为 mysql默认会按照id排序,上面这段查询执行的结果是:

 

+--------+
| id     |
+--------+
|     48 |
|    801 |
|   1795 |
|   7616 |
|  11502 |
|  13420 |
|  16475 |
|  24820 |

 

 

 

这个结果明显不是我们想要的, 可以通过mysql的FIELD函数来解决这个问题

 

 select id from auth_user where id in(131482, 48, 801, 238640)ORDER BY FIELD(id,131482, 48, 801, 238640);

 

你可能感兴趣的:(mysql)