Как бы я Go об агрегации результатов текста в единственном временном столбце? - PullRequest
0 голосов
/ 02 мая 2020

У меня есть база данных. Из этой базы данных я запросил и получил результаты:

Breed   |   Name
Mastiff |   John
Golden  |   Jojo
Shih Tzu|   Mimi
Poodle  |   John
Labrador|   Jojo
Mastiff |   Jojo

И я надеялся узнать, как я смогу манипулировать данными, чтобы результаты выглядели примерно так - или (однако SQL рабочая процедура такова)

Breed   | Names
Mastiff | John, Jojo
Labrador| Jojo
Golden  | Jojo
Shih Tzu| Mimi
Poodle  | Jojo

Там, где в основном породы имеют все имена, указывающие на них, агрегированные для них. Как COUNT (), но для строк

Ответы [ 2 ]

1 голос
/ 02 мая 2020

вы можете сделать это с помощью GROUP_CONCAT

SELECT 
  Breed, 
  GROUP_CONCAT(Name ORDER BY Name SEPARATOR ', ') Names
FROM tbl 
GROUP BY Breed 
ORDER BY Breed;
1 голос
/ 02 мая 2020

В MySQL можно использовать функцию агрегирования строк group_concat():

select breed, group_concat(name) names
from mytable
group by breed
...