Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQL:làm cách nào để sắp xếp theo một trường nếu nó không phải là giá trị khác, hãy sử dụng trường khác

Bạn có thể sử dụng COALESCE :

ORDER BY COALESCE(dtModified, dtPosted)

Một tùy chọn khác là sử dụng hàm cụ thể của MySQL IFNULL thay vì COALESCE .

Thử nghiệm trên MySQL:

CREATE TABLE table1 (dtModified DATETIME NULL, dtPosted DATETIME NOT NULL);
INSERT INTO table1 (dtModified, dtPosted) VALUES
('2010-07-31 10:00:00', '2010-07-30 10:00:00'),
(NULL                 , '2010-07-31 09:00:00'),
('2010-07-31 08:00:00', '2010-07-30 10:00:00');

SELECT dtModified, dtPosted
FROM table1
ORDER BY COALESCE(dtModified, dtPosted)

Kết quả:

dtModified           dtPosted
2010-07-31 08:00:00  2010-07-30 10:00:00
NULL                 2010-07-31 09:00:00
2010-07-31 10:00:00  2010-07-30 10:00:00


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thay thế khóa chính của Django bằng một số nguyên khác duy nhất cho bảng đó

  2. Làm cách nào để bạn thay đổi kiểu đối chiếu cho một cột MySQL?

  3. MySQL:Lượt xem so với Thủ tục được lưu trữ

  4. Di chuyển cơ sở dữ liệu trên sản xuất django

  5. Cấp quyền cho bảng và cột MySQL