我有这样的表。字符串聚合组和计数值
| 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 |
,但我想算我的性别也算我的意思是在第一组(CASS 1)我需要像1 F + 3M的
列我的要求是这样的,我想在1组中使用它。
| 1 | Jane-John-Tom-Bob |1F + 3M
'array_to_string(ARRAY_AGG(名称), ' - '::文)'可以简化为'string_agg(名字,' - ')' –