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

Bagaimana cara membuat hasil kueri MYSQL ORDER BY kondisi pesanan?

Untuk mendapatkan pengurutan dalam urutan yang Anda inginkan, gunakan ketentuan Anda di ORDER BY, tetapi gunakan DESC mengejar mereka.

SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
    condition1 DESC,
    condition2 DESC,
    condition3 DESC

Jika ini tidak berhasil karena kueri Anda lebih kompleks, maka Anda dapat menggunakan logika boolean untuk mengubah kueri Anda (A OR B OR C) AND D menjadi (A AND D) OR (B AND D) OR (C AND D) maka Anda dapat menggunakan kueri berikut:

SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
    condition1 AND static DESC,
    condition2 AND static DESC,
    condition3 AND static DESC

AND static tidak diperlukan di sini karena semua baris mengembalikannya, tetapi dalam contoh yang lebih kompleks (di mana Anda juga mengembalikan beberapa baris yang tidak statis) maka Anda harus melakukannya dengan cara ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. String MySQL ke TANGGAL / WAKTU atau TIMESTAMP

  2. Apakah aman menggunakan LIMIT tanpa ORDER BY

  3. Mengapa kueri penyisipan terkadang membutuhkan waktu lama untuk diselesaikan?

  4. konversi tanggal php ke format mysql

  5. mysql - MEMPERBARUI baris berdasarkan baris lain