Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy vấn MySQL sắp xếp theo cả timestamp và enum

Để thực hiện việc này, bạn có thể sử dụng ORDER BY DATE(). Hãy cùng tạo một bảng trước. Ở đây chúng ta có một cột kiểu DATE và một cột kiểu ENUM:

mysql> CREATE TABLE DemoTable (
    -> JoiningDate DATE,
    -> Status ENUM('Good','Excellent','Bad')
    -> ); Query OK, 0 rows affected (0.58 sec)

Chèn một số bản ghi vào bảng bằng lệnh INSERT:

mysql> INSERT INTO DemoTable VALUES('2019-01-21','Excellent'); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable(Status) VALUES('Bad'); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable(Status) VALUES('Good'); Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable;

Kết quả sẽ như sau:

+-------------+-----------+
| JoiningDate | Status    |
+-------------+-----------+
| 2019-01-21  | Excellent |
| NULL        | Bad       |
| NULL        | Good      |
+-------------+-----------+
3 rows in set (0.00 sec)

Dưới đây là truy vấn để sắp xếp theo cả timestamp và enum:

mysql> SELECT * FROM DemoTable
    -> ORDER BY DATE(JoiningDate) ASC, Status ASC;

Kết quả sẽ như sau:

+-------------+-----------+
| JoiningDate | Status    |
+-------------+-----------+
| NULL        | Good      |
| NULL        | Bad       |
| 2019-01-21  | Excellent |
+-------------+-----------+
3 rows in set (0.00 sec)