sql >> Databáze >  >> RDS >> PostgreSQL

Zobrazit poslední dítě v iteraci reakce

Můžete zkusit následující:

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

Tím by měla být uvedena poslední zpráva (od created_at ) z každého user_id .

Pokud používáte Postgresql, můžete zkusit distinct on přístup:

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



  1. java -postgresql naposledy vložené id při vkládání se nezískává

  2. Existuje rozdíl ve výkonu mezi HAVING na aliasu a nepoužíváním HAVING

  3. Import velkého XML souboru do MySQL

  4. Ke každému dni v měsíci přiřaďte celkovou hodnotu měsíce