Computer >> Máy Tính >  >> Lập trình >> MySQL

Sử dụng MySQL, tôi có thể sắp xếp một cột nhưng cho phép 0 đứng sau cùng không?

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)