You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL中按相同taxonomy列值分组拼接对应的name列内容

问题解答

错误原因

你使用GROUP_CONCAT聚合函数时未添加GROUP BY分组规则,SQL默认会把所有匹配条件的行的name字段值全部拼接到同一条结果中,不会按taxonomy维度拆分聚合。

修正后的SQL语句

SELECT wp.id, wp.post_title, tt.taxonomy, GROUP_CONCAT(t.name) AS attribute_values
FROM wp_posts wp 
INNER JOIN wp_term_relationships r ON wp.ID = r.object_id 
INNER JOIN wp_term_taxonomy tt ON r.term_taxonomy_id = tt.term_taxonomy_id 
INNER JOIN wp_terms t ON t.term_id = tt.term_id 
WHERE tt.taxonomy like 'pa_%'
-- 按商品ID、标题、属性分类三个字段分组,确保同一个商品下相同taxonomy的name被聚合
GROUP BY wp.id, wp.post_title, tt.taxonomy;

可选优化配置

  • 若需对拼接的name去重,可修改聚合部分为GROUP_CONCAT(DISTINCT t.name)
  • 若需自定义拼接分隔符,可指定SEPARATOR参数,例如用竖线分隔:GROUP_CONCAT(t.name SEPARATOR '|')
  • 若需按固定顺序拼接name,可添加ORDER BY规则:GROUP_CONCAT(t.name ORDER BY t.name ASC)

内容的提问来源于stack exchange,提问作者thepylot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:06:01