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

Tampilkan Anak Terakhir dalam Iterasi Bereaksi

Anda dapat mencoba yang berikut ini:

Message.where(to: current_user.id)
       .order(:created_at)
       .group_by(&:user_id)
       .map{|_, x| x.last}

Ini akan memberikan pesan terakhir (oleh created_at ) dari setiap user_id .

Selama Anda menggunakan Postgresql, Anda dapat mencoba distinct on pendekatan:

Message.where(to: current_user.id)
       .order(user_id: :asc, created_at: :desc)
       .select('distinct on (user_id) *')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql:Ekspor CSV dengan jeda baris yang lolos

  2. Bagaimana pengguna dapat saling menyukai posting menggunakan sekuel postgres nodejs?

  3. Bagaimana memetakan bidang array PostgreSQL di Django ORM

  4. Bagaimana cara menggunakan % operator dari ekstensi pg_trgm?

  5. Bagaimana Anda mendapatkan tampilan 12 hari kerja yang dinamis di Postgresql?