Mysql 按字段ASC订购,末尾为空项

Mysql 按字段ASC订购,末尾为空项,mysql,Mysql,我想通过以下方式下订单: - 1 - 3 - 5 - NULL - NULL 如果我通过现场ASC订购,它会给我: - NULL - NULL - 1 - 3 - 5 第一次订购最简单的方法是什么?您可以尝试: order by IFNULL(`field`, 18446744073709551615) 或者从中为您的类型选择另一个最大值,您可以尝试执行以下操作: order by IFNULL(`field`, 18446744073709551615) 或者在我看来,从中为您的类型选

我想通过以下方式下订单:

- 1
- 3
- 5
- NULL
- NULL
如果我通过现场ASC订购,它会给我:

- NULL
- NULL
- 1
- 3
- 5
第一次订购最简单的方法是什么?

您可以尝试:

order by IFNULL(`field`, 18446744073709551615)
或者从

中为您的类型选择另一个最大值,您可以尝试执行以下操作:

order by IFNULL(`field`, 18446744073709551615)

或者在我看来,从

中为您的类型选择另一个最大值,最干净的方法是在ORDER BY中的列名前放置一个减号,并将ASC更改为DESC

因此: 按列排序\u名称ASC 变成: ORDER BY-列名称描述


我相信这是一个未记录的特性。

在我看来,在您的订单中,在列名之前加上减号,并将ASC改为DESC,这是最干净的方法

因此: 按列排序\u名称ASC 变成: ORDER BY-列名称描述


我相信这是一个未记录的特性。

按两件事排序。如果值为null,则首先根据条件,然后根据列值

ORDER BY field is not null,
         field ASC

按两件事排序。如果值为null,则首先根据条件,然后根据列值

ORDER BY field is not null,
         field ASC
使用语法:按isnullvalue,value从num顺序选择值

证明:

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 |
+-------+
使用语法:按isnullvalue,value从num顺序选择值

证明:

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 |
+-------+
可能重复到可能重复到