ORDER BY字段ASC,结尾有NULL项

时间:2014-10-23 20:01:27

标签: mysql

我想要ORDER BY,以便显示以下内容:

- 1
- 3
- 5
- NULL
- NULL

如果我做ORDER BY field ASC,它会给我:

- NULL
- NULL
- 1
- 3
- 5

第一次订购最简单的方法是什么?

4 个答案:

答案 0 :(得分:3)

你可以尝试:

order by IFNULL(`field`, 18446744073709551615)

或从http://dev.mysql.com/doc/refman/5.0/en/integer-types.html

为您的类型选择另一个最大值

答案 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 |
+-------+