Bạn có thể sắp xếp một cột, với 0 đứng sau cùng với sự trợ giúp của ORDER BY. Cú pháp như sau -
select *from yourTableName order by yourFieldName = 0,yourFieldName;
Để hiểu khái niệm trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -
mysql> create table SortColumnZeroAtLastDemo −> ( −> RankNumber int −> ); Query OK, 0 rows affected (1.40 sec)
Bây giờ bạn có thể chèn các bản ghi trong bảng bằng cách sử dụng truy vấn sau -
mysql> insert into SortColumnZeroAtLastDemo values(100); Query OK, 1 row affected (0.20 sec) mysql> insert into SortColumnZeroAtLastDemo values(0); Query OK, 1 row affected (0.17 sec) mysql> insert into SortColumnZeroAtLastDemo values(0); Query OK, 1 row affected (0.11 sec) mysql> insert into SortColumnZeroAtLastDemo values(50); Query OK, 1 row affected (0.13 sec) mysql> insert into SortColumnZeroAtLastDemo values(10); Query OK, 1 row affected (0.15 sec) mysql> insert into SortColumnZeroAtLastDemo values(0); Query OK, 1 row affected (0.17 sec) mysql> insert into SortColumnZeroAtLastDemo values(40); Query OK, 1 row affected (0.12 sec)
Hiển thị tất cả các bản ghi từ bảng với sự trợ giúp của câu lệnh select. Truy vấn như sau -
mysql> select *from SortColumnZeroAtLastDemo;
Sau đây là kết quả -
+------------+ | RankNumber | +------------+ | 100 | | 0 | | 0 | | 50 | | 10 | | 0 | | 40 | +------------+ 7 rows in set (0.00 sec)
Đây là truy vấn để sắp xếp cột và đặt giá trị 0 ở vị trí cuối cùng bằng cách sử dụng cú pháp mà chúng ta đã thảo luận ở phần đầu -
mysql> select *from SortColumnZeroAtLastDemo order by RankNumber = 0,RankNumber;
Sau đây là kết quả -
+------------+ | RankNumber | +------------+ | 10 | | 40 | | 50 | | 100 | | 0 | | 0 | | 0 | +------------+ 7 rows in set (0.00 sec)