Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL:bagaimana cara saya memesan berdasarkan bidang jika bukan nol lagi gunakan bidang lain

Anda dapat menggunakan COALESCE :

ORDER BY COALESCE(dtModified, dtPosted)

Opsi lainnya adalah menggunakan fungsi khusus MySQL IFNULL bukannya COALESCE .

Pengujian di 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)

Hasil:

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. Bagaimana cara mendapatkan ID dari baris yang terakhir diperbarui di MySQL?

  2. Rekursi MySQL?

  3. Membuat kueri 2 Tabel dalam satu kueri

  4. Unduh csv dari codeigniter mysql

  5. Bagaimana cara mendapatkan nama kolom bersama dengan hasil di php/mysql?