[英]In mysql combine multiple rows in one column? when having same ID with different value
我有一個查詢,其中獲取 2 條相同 id 但不同組(列)值的記錄。 這是查詢:
SELECT rule.id, rule.rule_name,group_rule.groupName
FROM rule LEFT JOIN rule_groups ON rule.id=rule_groups.rule_id
LEFT JOIN group_rule ON rule_groups.group_rule_id=group_rule.id
結果: - - - - - - - - - - - - - - - - -
|id |rule_name | groupName
|1 |A | app
|1 |A |jaz
現在想將這兩行合並到一條記錄中。 如何修改查詢以獲得預期結果。
預期的:
|id |rule_name | groupName
|1 |A | app, jaz
我想你只想要group_concat()
:
select r.id, r.rule_name, group_concat(gr.groupName separator ', ')
from rule r left join
rule_groups rg
on r.id = rg.rule_id left join
group_rule gr
on rg.group_rule_id = gr.id
group by r.id, r.rule_name;
請注意,我還引入了表別名,因此查詢更易於編寫和閱讀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.