MariaDB SELECT多行作为单行

时间:2019-06-10 23:59:59

标签: mysql mysqli mariadb

我如何SELECT将同一数据(同一表)的多行作为单行使用?

用例:我正在构建联系人管理工具。有些人可能有多个电子邮件地址和/或电话号码。不必手动添加另一个LEFT JOIN并返回如下内容:

//print_r($row1);
//email1, email2, email3, email4, phone1, phone2, phone3, phone4

我希望让MariaDB按照以下方式直观地返回内容:

//print_r($row1);
//email, phone

//print_r($row1['email']);
//1@example.com,2@example.com,3@example.com

//print_r($row1['phone']);
//123-4567,456-7890,109-345

这将使我避免使用静态JOIN。使用MariaDB如何做到这一点?


一个很好的例子是SQL Server的STUFF function

1 个答案:

答案 0 :(得分:1)

我需要的功能是group_concat()

之前

SELECT phone FROM contacts_phone;
  • 123
  • 456
  • 789

之后

SELECT group_concat(phone) FROM contacts_phone;
  • 123,456,789