【发布时间】:2013-04-09 02:19:01
【问题描述】:
This question 询问有关在 MySQL 中指定排序顺序的问题。
我想做的是有两个级别的排序 - 第一个是我指定的顺序,然后其余的非指定值将以正常方式排序。
我尝试的是:
SELECT
version_id,
version_name
FROM
software_versions
ORDER BY
FIELD(version_id, 133, 41, 88),
version_name ASC
但是发生的情况是,行是按版本名称排序的,然后是 FIELD(从查询的结构向后)。
可以按照我的要求做吗?查找表相对较小(大约 100 行),所以我不太担心使用 ORDER BY FIELD 会影响性能。
我需要将其作为 UNION 重做吗?
【问题讨论】:
-
您有版本 id 133、41 和 88 吗?我们可以假设 versionid 是一个数字字段吗?
-
将 FIELD 子句添加到 SELECT 列表中:它给你什么?
标签: mysql sql-order-by