按 MySQL“IN”子句中的值对结果进行排序
在 MySQL 中的“IN”子句语句中,结果通常以无序的方式。但是,有多种方法可以根据子句中指定的值对结果进行排序。
使用FIELD()函数
一种方法是使用FIELD( ) 函数,返回列表中指定值的位置。通过利用此功能,您可以按所需顺序手动对结果进行排序。语法如下:
ORDER BY FIELD(column, value1, value2, ..., valueN)
示例
考虑以下示例:
SELECT * FROM account_records WHERE id IN (5,2,6,8,12,1) ORDER BY FIELD(id,5,2,6,8,12,1);
在此查询中,结果将是按照 FIELD() 函数参数中指定的顺序返回,这些参数是“IN”子句中的值。
或者,使用临时表
如上所述,您也可以考虑创建一个临时表来实现所需的排序。这些步骤涉及:
虽然这种方法可以提供更通用的解决方案,但与使用直接使用 FIELD() 函数相比,效率较低排序要求。
以上是如何对 MySQL“IN”子句中的结果进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!