我想要ORDER BY
,以便显示以下内容:
- 1
- 3
- 5
- NULL
- NULL
如果我做ORDER BY field ASC
,它会给我:
- NULL
- NULL
- 1
- 3
- 5
第一次订购最简单的方法是什么?
答案 0 :(得分:3)
你可以尝试:
order by IFNULL(`field`, 18446744073709551615)
为您的类型选择另一个最大值
答案 1 :(得分:2)
按2件事订购。首先是条件,如果值为null,然后是列值
ORDER BY field is not null,
field ASC
答案 2 :(得分:0)
在我看来,最简单的方法是在ORDER BY中的列名前加一个减号( - )并将ASC更改为DESC。
所以:
ORDER BY column_name ASC
变为:
ORDER BY -column_name DESC
我认为这是一个没有记录的功能。
答案 3 :(得分:0)
使用语法:select value from num order by isnull(value), value;
演示:
create table nums (value int);
insert into nums values (1), (3), (5), (null), (null);
select value from nums order by isnull(value), value;
+-------+
| value |
+-------+
| 1 |
| 3 |
| 5 |
| NULL |
| NULL |
+-------+