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

bagaimana cara memastikan catatan selalu di atas dalam hasil yang diberikan di mysql?

ORDER BY (p.id=14) DESC, (p.mPrice=p.vPrice) DESC

p.id=14 mengembalikan 1 jika kondisinya benar, 0 jika tidak, maka pengurutan secara turun akan membawa baris yang diinginkan ke atas.

Mengembalikan angka dari perbandingan adalah fitur MySQL, dengan SQL standar Anda akan menulis:

ORDER BY CASE WHEN (p.id=14) THEN 0 ELSE 1 END,
         CASE WHEN (p.mPrice=p.vPrice) THEN 0 ELSE 1 END

Menurut saya ini lebih mudah dibaca daripada UNION , dan mungkin berkinerja lebih baik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel 5 Membuat Record Baru yang Menjadi Milik 3 Tabel Lainnya

  2. Tampilkan indeks di tabel MySQL

  3. Cara mengambil catatan kecocokan di beberapa tabel di MySQL

  4. Mengapa menambahkan '*' ke kueri MySQL menyebabkan kesalahan sintaks?

  5. Mengakses Database MySql dari file PHP di host lokal