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/48697270/

相关文章:

sql - 如何找到最近的日期?

sql - 带引号和不带引号的更新查询的总运行时间差异太大

python - 如何在mysql中存储会计年度(例如2017-2020)?

php - 对同一 PHP 脚本的并行请求导致第二次长时间延迟

sql - 更新 SQL Server Management Studio 编辑器窗口

android - sqlite 中按月分组

mysql - 具有特定行值的特定订单的订单记录

php - 返回按周 MySQL 分组的行数

mysql - SQL-按特定字段分组并连接另一个字段

excel - 在 Excel 中创建自定义查找函数时遇到问题。匹配和连接范围的问题