MySQL 如何按列排序并将空记录放在末尾

MySQL 如何按列排序并将空记录放在末尾

要通过列排序并将空记录放在末尾,请在MySQL中使用ORDER BY和“IS NULL”。 语法如下-

select * from yourTableName order by if(yourColumName = '' or yourColumName is null,1,0),yourColumnName;

为了理解上述语法,让我们创建一个表。 创建表的查询语句如下-

mysql> create table emptyCellsAtEnd
    -> (
    -> ProductId varchar(100)
    -> );
Query OK, 0 rows affected (0.65 sec)

使用INSERT命令在表中插入一些记录。 其中有些记录是空的。 查询如下-

mysql> insert into emptyCellsAtEnd values('');
Query OK, 1 row affected (0.23 sec)

mysql> insert into emptyCellsAtEnd values('P-1');
Query OK, 1 row affected (0.21 sec)

mysql> insert into emptyCellsAtEnd values('P-2');
Query OK, 1 row affected (0.14 sec)

mysql> insert into emptyCellsAtEnd values('');
Query OK, 1 row affected (0.15 sec)

mysql> insert into emptyCellsAtEnd values('P-3');
Query OK, 1 row affected (0.18 sec)

mysql> insert into emptyCellsAtEnd values('P-4');
Query OK, 1 row affected (0.09 sec)

mysql> insert into emptyCellsAtEnd values('P-9');
Query OK, 1 row affected (0.11 sec)

mysql> insert into emptyCellsAtEnd values('');
Query OK, 1 row affected (0.15 sec)

mysql> insert into emptyCellsAtEnd values('P-8');
Query OK, 1 row affected (0.17 sec)

使用SELECT语句显示表中的所有记录。 查询如下-

mysql> select * from emptyCellsAtEnd;

以下是输出结果-

+-----------+
| ProductId |
+-----------+
|           |
| P-1       |
| P-2       |
|           |
| P-3       |
| P-4       |
| P-9       |
|           |
| P-8       |
+-----------+
9 rows in set (0.00 sec)

现在,您可以实施我们之前讨论的将空单元格放在末尾的查询。将空单元格放置在末尾的查询如下-

mysql> select * from emptyCellsAtEnd 
-> order by if(ProductId = '' or ProductId is null,1,0),ProductId;

以下是输出结果-

+-----------+
| ProductId |
+-----------+
| P-1       |
| P-2       |
| P-3       |
| P-4       |
| P-8       |
| P-9       |
|           |
|           |
|           |
+-----------+
9 rows in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程