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

PostgreSQLで指定された列でグループ化

    方法を定義する必要があります 同じcategory_idを共有する値をグループ化する 。それらを連結しますか?合計を計算しますか?

    値のコンマ区切りリストを作成するには、ステートメントは次のようになります。

    SELECT category_id
          ,string_agg(col1, ', ') AS col1_list
          ,string_agg(col2, ', ') AS col2_list
    FROM   items
    GROUP  BY category_id
    

    string_agg(col1, ', ') 。古いバージョンでは、array_to_string(array_agg(col1), ', ')に置き換えることができます 。その他の集計関数こちら 。

    PostgreSQLで値を集計することは、クライアントで値を集計するのとは対照的に、明らかに優れたアプローチです。 Postgresは非常に高速です これで、(ネットワーク)トラフィックが減少します。



    1. ウィンドウ関数とよりローカルな集約

    2. MYSQLは、2番目の行に値が指定されているすべての行を検索します

    3. PostgreSQL:全文検索-部分的な単語を検索する方法は?

    4. MySQLでフィールドまたは列のエイリアスを作成するにはどうすればよいですか?