私はこのようなテーブルを持っています。文字列集約グループと値でのカウント
| table |
| class_id| name | gender |
+---------+---------+----------+
| 1 | Jane | F |
| 1 | John | M |
| 1 | Tom | M |
| 1 | Bob | M |
| 2 | Jack | M |
| 2 | Kate | F |
このようなクエリがあります。
select id, array_to_string(array_agg(name), ' - '::text) as name_list from table
group by class_id
私の結果は
| 1 | Jane-John-Tom-Bob |
ですが、私も、私が1 F + 3 M
のような列を必要とする(CASS 1)最初のグループにわけ、私の性別回数をカウントしたいのですが私のリクエストはこのようなもので、私は1グループで使いたいです。
| 1 | Jane-John-Tom-Bob |1F + 3M
'array_to_string(ARRAY_AGG(名前)、 ' - '::テキストは)' 'string_agg(' - ' 名前、)に単純化することができる助けを' –