sql >> データベース >  >> RDS >> PostgreSQL

React反復で最後の子を表示する

    次のことを試すことができます:

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

    これにより、最後のメッセージが表示されます(created_atによる) )各user_idから 。

    Postgresqlを使用している限り、distinct onを試すことができます アプローチ:

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



    1. 日付を長持ちさせるために休止状態にする

    2. mysqlエラー:テーブルmysql.innodb_table_statsが見つかりません

    3. docker-composeでローカルMySQLサーバーに接続できません

    4. 結合フィールドでコンマ区切りリストを使用して2つのテーブルを結合する方法