避免按MYSQL IN关键字排序

Nau*_*hir 4 mysql sql-order-by in-operator

在查询db的一组id时,mysql不按照指定id的顺序提供结果.我正在使用的查询如下:

SELECT id ,title, date FROM Table WHERE id in (7,1,5,9,3)
Run Code Online (Sandbox Code Playgroud)

作为回报,提供的结果是1,3,5,7,9的顺序.

我怎样才能避免这种自动排序

cod*_*ict 8

如果您想id按照指定的顺序订购结果,in clause可以使用FIND_IN_SET:

SELECT id ,title, date 
FROM Table 
WHERE id in (7,1,5,9,3)
ORDER BY FIND_IN_SET(id,'7,1,5,9,3')
Run Code Online (Sandbox Code Playgroud)