Để sắp xếp lại số nguyên ngoại trừ giá trị 0, hãy sử dụng cú pháp dưới đây -
select *from yourTableName order by yourColumnName=0 ,yourColumnName;
Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table reorderIntegerExcept0 -> ( -> value int -> ); Query OK, 0 rows affected (0.70 sec)
Sau đây là truy vấn để chèn các bản ghi trong bảng bằng cách sử dụng lệnh insert -
mysql> insert into reorderIntegerExcept0 values(90); Query OK, 1 row affected (0.17 sec) mysql> insert into reorderIntegerExcept0 values(10); Query OK, 1 row affected (0.21 sec) mysql> insert into reorderIntegerExcept0 values(0); Query OK, 1 row affected (0.18 sec) mysql> insert into reorderIntegerExcept0 values(40); Query OK, 1 row affected (0.18 sec) mysql> insert into reorderIntegerExcept0 values(0); Query OK, 1 row affected (0.09 sec) mysql> insert into reorderIntegerExcept0 values(50); Query OK, 1 row affected (0.17 sec) mysql> insert into reorderIntegerExcept0 values(80); Query OK, 1 row affected (0.13 sec) mysql> insert into reorderIntegerExcept0 values(0); Query OK, 1 row affected (0.10 sec) mysql> insert into reorderIntegerExcept0 values(300); Query OK, 1 row affected (0.20 sec)
Sau đây là truy vấn để hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select -
mysql> select * from reorderIntegerExcept0;
Điều này sẽ tạo ra kết quả sau -
+-------+ | value | +-------+ | 90 | | 10 | | 0 | | 40 | | 0 | | 50 | | 80 | | 0 | | 300 | +-------+ 9 rows in set (0.00 sec)
Sau đây là truy vấn để sắp xếp lại số nguyên ngoại trừ giá trị 0 -
mysql> select * from reorderIntegerExcept0 order by value =0 ,value;
Điều này sẽ tạo ra kết quả sau -
+-------+ | value | +-------+ | 10 | | 40 | | 50 | | 80 | | 90 | | 300 | | 0 | | 0 | | 0 | +-------+ 9 rows in set (0.00 sec)
Nếu bạn muốn nó theo thứ tự giảm dần cho các số nguyên ngoại trừ 0, hãy sử dụng truy vấn bên dưới -
mysql> select * from reorderIntegerExcept0 order by value =0,value DESC;
Điều này sẽ tạo ra kết quả sau -
+-------+ | value | +-------+ | 300 | | 90 | | 80 | | 50 | | 40 | | 10 | | 0 | | 0 | | 0 | +-------+ 9 rows in set (0.00 sec)