Concatenare con la virgola i valori restituiti da una query in MariaDB - MySQL

14 settembre 2018

​Per esemplificare supponiamo di avere una tabella con una colonna "email" destinata a contenere degli indirizzi email:
MariaDB [miodb]> select id,email from emails limit 0,4;  
+----+----------------------+
| id | email |
+----+----------------------+
| 1 | nome@miodominio.com |
| 2 | nome1@miodominio.it |
| 4 | nome3@miodominio.it |
| 5 | nome4@altrodominio.it |
+----+----------------------+
4 rows in set (0.00 sec)
Adesso vogliamo ottenere, utilizzando la funzione GROUP_CONCAT, tutte le email corrispondenti al dominio miodominio.it separate da virgola:

MariaDB [miodb]> SELECT GROUP_CONCAT(email) from emails WHERE email LIKE '%miodominio.it';
+-----------------------------------------+
| GROUP_CONCAT(email) |
+-----------------------------------------+
| nome1@miodominio.it,nome4@miodominio.it | +-----------------------------------------+
1 row in set (0.01 sec)