PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

rel diurutkan berdasarkan urutan tertentu

Karena 3, 4, 2 bukan urutan berurutan, harus ada kondisi khusus untuk memesannya dengan benar, Anda dapat melakukannya dengan menggunakan CASE WHEN ekspresi .

order_sql = Arel.sql(
  'CASE WHEN users_count = 3 THEN 0 ' \
    'WHEN users_count = 4 THEN 1 ' \
    'ELSE 3 END'
)
Group.where(users_count: [2,3,4]).order(order_sql)

Yang akan memberikan 0 ketika users_count = 3 , 1 ketika users_count = 4 , dan 3 untuk kasus lain. Dengan urutan menaik default, Anda akan mendapatkan hasil yang Anda inginkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. heroku tarik postgresql di windows

  2. Driver:[email protected] mengembalikan null untuk URL... Saat menerapkan boot musim semi ke Heroku

  3. Bagaimana cara menampilkan grand parent pada hierarki sql?

  4. Nama tabel atau kolom tidak boleh diawali dengan angka?

  5. Cara menggunakan lokasi fisik baris (ROWID) dalam pernyataan DELETE