首先,我们查询一首歌曲 以及对应的标签名称
SELECT
`name`,
works_id
FROM
app_category
INNER JOIN app_works_categories ON app_category.id = app_works_categories.category_id
WHERE
works_id = '00330c0c9e***'

但是,我们想按歌曲ID分组,并将标签合并到一起,如下图

怎么办呢?
我们就要使用我们的分组聚合函数了
当然,先介绍下语法。
语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
因为默认分隔符是逗号,我们就偷点懒。
SELECT
GROUP_CONCAT(`name`) 标签,
works_id
FROM
app_category
INNER JOIN app_works_categories ON app_category.id = app_works_categories.category_id
WHERE
works_id = '00330c0c9e***'
这样就可以实现多条数据的合并。
当然如果你查询的数据很多,要根据某个其他字段分组,记得使用group by。
本文介绍了一种在SQL中使用分组聚合函数group_concat的方法,用于将多条数据按特定字段进行合并,适用于歌曲标签等信息的整合。通过示例展示了如何对歌曲ID进行分组并合并其对应的所有标签。
4173

被折叠的 条评论
为什么被折叠?



