如果我有这样一张 table
+----+----------------+
| id | id_alternativo |
+----+----------------+
| 15 | 18 |
+----+----------------+
| 16 | 0 |
+----+----------------+
| 17 | 0 |
+----+----------------+
| 18 | 0 |
+----+----------------+
如何让记录在 ID 15 之后显示 ID 18?
最佳答案
查看 MySQL 文档,您可以在排序中使用多个列,并且每列使用 DESC/ASC。
http://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html
如果我理解正确,您的查询将如下所示:
SELECT id, id_alternativo FROM table ORDER BY id_alternativo DESC, id DESC;
+------+----------------+
| id | id_alternativo |
+------+----------------+
| 15 | 18 |
| 18 | 0 |
| 17 | 0 |
| 16 | 0 |
+------+----------------+
关于mysql - mysql的复杂顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36910955/