4

我正在尝试进行 mysql 排序,0首先显示然后按最大数字显示。

我当前的 mysql 语句返回

10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0

但我想得到这个

0, 0, 0, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

是否可以构建一个 MySQL 查询,在开始时从最大到最小排序一个整数0

4

2 回答 2

11

试试这个order by说法:

order by val = 0 desc, val desc

第一部分是一个布尔值,当值为 1 时计算为“1”,否则为 0。第二部分按降序排列其余值。

于 2013-04-26T18:19:33.400 回答
3

你必须使用 2 个过滤器

select * from mytable
order by mycolumn=0 desc, mycolumn desc
于 2013-04-26T18:20:22.043 回答