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

MySQL ORDER BY FIELD dengan %

Ini akan memberi Anda kendali paling besar terhadapnya:

order by
  case left(positions.colleague_position_id, 1)
    when 'A' then 1
    when 'F' then 2
    when 'T' then 3
    when 'S' then 4
    when 'C' then 5
    else 6
  end, positions.colleague_position_id

Ini karena Anda dapat mengirim semua nilai yang tidak cocok ke posisi yang Anda inginkan (dalam hal ini di akhir). field() fungsi akan mengembalikan 0 untuk nilai yang tidak cocok dan akan menempatkannya di bagian atas kumpulan hasil bahkan sebelum nilai yang dimulai dengan A .

Selain itu, Anda juga dapat memesan dengan positions.colleague_position_id seperti yang saya lakukan pada contoh, sehingga untuk banyak positions.colleague_position_id yang dimulai dengan huruf yang sama akan tetap berurutan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa gunanya menggunakan kata kunci AS dalam SQL ketika aliasing dapat dilakukan tanpanya?

  2. Klien tidak mendukung protokol otentikasi yang diminta oleh server

  3. Peningkatan Laravel 5.4, mengonversi ke utf4mb dari utf8

  4. Cara menggunakan banyak database di Laravel

  5. Bagaimana cara mendapatkan posting komentar terbaru di atas posting baru yang dikirimkan di Wordpress?