Mysql 从IN()函数对sql结果排序

Mysql 从IN()函数对sql结果排序,mysql,sql,Mysql,Sql,我有一个问题: SELECT categories_id , categories_name ,categories_url FROM categories WHERE categories_id IN(0,72,51,52) 对于函数中的,我有数字0,72,51,52,但当我得到sql结果时,它们是0,51,52,72,即按时间顺序排列的。我如何才能按照与最初的0,72,51,52相同的方式订购它们?您可以在order by子句中尝试: order by field(ca

我有一个问题:

SELECT categories_id
     , categories_name
     ,categories_url
FROM categories
WHERE categories_id IN(0,72,51,52)
对于函数中的
,我有数字0,72,51,52,但当我得到sql结果时,它们是0,51,52,72,即按时间顺序排列的。我如何才能按照与最初的0,72,51,52相同的方式订购它们?

您可以在
order by
子句中尝试:

order by field(categories_id, 0, 72, 51, 52)
您可以在
order by
子句中尝试使用:

order by field(categories_id, 0, 72, 51, 52)
您可以在
order by
子句中尝试使用:

order by field(categories_id, 0, 72, 51, 52)
您可以在
order by
子句中尝试使用:

order by field(categories_id, 0, 72, 51, 52)

我在您的查询中没有看到任何
orderby
,那么您是如何获得订单的呢?默认情况下,大多数数据库将为您提供最有效的项目排序,通常显示为主键顺序或插入顺序。我相信按照任意列表进行排序,你必须自己进行排序。我在你的查询中没有看到任何
按顺序排序,那么你怎么会得到订单呢?默认情况下,大多数数据库会为你提供最有效的项目排序,通常显示为主键顺序或插入顺序。我相信按照任意列表进行排序,你必须自己进行排序。我在你的查询中没有看到任何
按顺序排序,那么你怎么会得到订单呢?默认情况下,大多数数据库会为你提供最有效的项目排序,通常显示为主键顺序或插入顺序。我相信按照任意列表进行排序,你必须自己进行排序。我在你的查询中没有看到任何
按顺序排序,那么你怎么会得到订单呢?默认情况下,大多数数据库会为你提供最有效的项目排序,通常显示为主键顺序或插入顺序。我相信,要按照这样的任意列表进行排序,您必须自己进行排序。