De GROUP\_CONCAT functie in MariaDB is een aggregate functie die gebruikt wordt om string waardes van meerdere rijen in een enkele string waarde te samenvoegen.
Hier is hoe je het kunt gebruiken:
Suppose je hebt een tabel `Student`:
Id | Name | Subject |
—— | ——— | ————- |
1 | John | Math |
2 | Mary | Science |
3 | John | Science |
4 | Mary | Math |
En je wilt een lijst van alle onderwerpen die een student heeft per naam, dan kun je GROUP\_CONCAT gebruiken in combinatie met GROUP BY:
```
SELECT Name, GROUP_CONCAT(Subject) AS Subjects
FROM Student
GROUP BY Name;
```
Dit zou een resultaat geven als:
Name | Subjects |
——— | —————————- |
John | Math,Science |
Mary | Science,Math |
De GROUP\_CONCAT functie heeft ook verschillende opties die je kunt gebruiken:
- DISTINCT: Om alleen unieke waarden te retourneren.
- ORDER BY: Om de waarden in een bepaalde volgorde te retourneren.
- SEPARATOR: Om een specifiek scheidingsteken te gebruiken.
Bijvoorbeeld:
```
SELECT Name, GROUP_CONCAT(DISTINCT Subject ORDER BY Subject DESC SEPARATOR ‘; ‘) AS Subjects
FROM Student
GROUP BY Name;
```
Dit zou een resultaat geven zoals:
Name | Subjects |
——— | —————————- |
John | Science; Math |
Mary | Science; Math |