【发布时间】:2018-03-12 17:18:54
【问题描述】:
我有一个表,其中包含三个数据类型为 INT、INT 和 INT 的字段。
我想使用所有这三列对我的选择查询进行排序。如果字段 A
SELECT * FROM table1 WHERE id=uid
ORDER BY
CASE table1.field1
WHEN table1.field1 < 11 THEN table1.field1
END
ASC,
table1.field2 DESC,
table1.field3 ASC;
+------+--------+---------+
|field1| field2 | field3 |
+------+--------+---------+
| 1 | 4 | 1 |
+------+--------+---------+
| 2 | 3 | 2 |
+------+--------+---------+
| 9 | 2 | 4 |
+------+--------+---------+
| 10 | 1 | 7 |
+------+--------+---------+
由于某种原因,CASE 并没有真正工作,如果我排除它工作但确实按 ASC 顺序对所有 field1 进行排序,而我只想要第 10 个。
【问题讨论】:
标签: mysql sql sorting sql-order-by