mysql - mysql的复杂顺序

标签 mysql sql-order-by

如果我有这样一张 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/

相关文章:

mysql - 将行数据转换为MySQL中的列

mysql - 来自 2 个表的 SQL 连接,按来自第三个表的连接数据分组

sql - 我如何订购商品和子商品?

php - sql查询order by似乎不起作用

sql - 我可以获取一条记录在 SQL 结果表中的位置吗?

sql - 按列排序,然后按第一个结果

MYSQL-如果值大于或小于库存则插入

mysql - SQL 按列中的数字排序

php - 无效参数编号 : parameter was not defined

MySQL添加基于日期的计数字段