sql - MySQL 结果为逗号分隔列表

标签 sql mysql concatenation

我需要运行如下查询:

SELECT p.id, p.name, 
       (SELECT name 
          FROM sites s 
         WHERE s.id = p.site_id) AS site_list
  FROM publications p

但我希望子选择返回一个逗号分隔的列表,而不是一列数据。这甚至可能吗?如果可以,怎么做?

最佳答案

您可以使用 GROUP_CONCAT执行该操作,例如像

SELECT p.id, p.name, GROUP_CONCAT(s.name) AS site_list
FROM sites s
INNER JOIN publications p ON(s.id = p.site_id)
GROUP BY p.id, p.name;

关于sql - MySQL 结果为逗号分隔列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/662207/

相关文章:

java - Blackberry 的数据库选项

sql - Mysql子查询: Trying to get the last order from a customer

.net - 使用 .NET ListView 高效搜索数十万条记录

php - 检查用户是否投票的正确方法是什么?

sql - 获取 GROUP BY 记录子集的计数

java - 在 Java 中使用准备好的语句进行表更新

mysql - 获取所有行具有相同列值的mysql数据

excel - 根据左列单元格组合相邻行单元格

python - 如何将列表与列表列表合并

mysql - 使用从另一个表连接的数据批量更新 MySQL 表