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

Sắp xếp theo ngày trong MySQL nhưng đặt ngày rỗng (NULL) ở cuối

Dùng ORDER BY với (cột IS NULL) để đẩy NULL về cuối, rồi sắp xếp ngày giảm dần.

Cú pháp:

SELECT *FROM yourTableName ORDER BY (yourDateColumnName IS NULL), yourDateColumnName DESC;

Demo: Bảng DateColumnWithNullDemo cột LoginDateTime có nhiều NULL.

Truy vấn:

mysql> select *from DateColumnWithNullDemo -> order by (LoginDateTime IS NULL), LoginDateTime DESC;
+----+---------------------+ | Id | LoginDateTime | +----+---------------------+ | 11 | 2020-01-01 06:45:23 | | 4 | 2019-01-29 17:07:54 | | 5 | 2019-01-29 00:00:00 | | 1 | 2018-01-29 17:07:20 | | 6 | 2017-08-25 15:30:35 | | 8 | 2016-12-25 16:55:55 | | 10 | 2014-11-12 10:20:23 | | 2 | NULL | | 3 | NULL | | 7 | NULL | | 9 | NULL | +----+---------------------+ 11 rows in set (0.00 sec)

NULL được đẩy xuống cuối, các ngày hợp lệ sắp xếp DESC.