Ich habe eine Tabelle wie folgt.String Aggregat Gruppe und auf einen Wert
| table |
| class_id| name | gender |
+---------+---------+----------+
| 1 | Jane | F |
| 1 | John | M |
| 1 | Tom | M |
| 1 | Bob | M |
| 2 | Jack | M |
| 2 | Kate | F |
Ich habe eine Abfrage wie folgt.
select id, array_to_string(array_agg(name), ' - '::text) as name_list from table
group by class_id
Mein Ergebnis ist
| 1 | Jane-John-Tom-Bob |
aber ich möchte mein Geschlecht Zahl zählen auch bedeuten, i in der ersten Gruppe (Cass 1) Ich brauche eine Spalte wie 1 F + 3 M
Meine Anfrage ist so etwas und ich möchte es in 1 Gruppe von verwenden.
| 1 | Jane-John-Tom-Bob |1F + 3M
'array_to_string (array_agg (Name), '- ':: Text)' kann 'string_agg (Name,' -') vereinfacht werden' –