有3个实体:1)问题,2)标签和他们之间的联接表-问题有标签。当我进行如下选择查询时:
select * from question_has_tag as qht where qht.question_id = 6;
我得到以下结果:
question_id| tag_id 6 | 1 6 | 2 6 | 3
我需要得到:
question_id| tag_id 6 | 1, 2, 3
如何得到它?
rm5edbpk1#
你需要将它们分组,并使用组\u concat喜欢
SELECT question_id,GROUP_CONCAT(tag_id ORDER BY tag_id ) FROM question_has_tag as qht WHERE qht.question_id = 6 GROUP BY question_id;
9udxz4iz2#
你在找 group_concat() 功能。此函数聚合一个特定字段,用任意字符分隔这些字段。
group_concat()
select question_id , group_concat( distinct tag_id order by tag_id separator ',' ) as tag_id from question_has_tags where question_id = 6;
2条答案
按热度按时间rm5edbpk1#
你需要将它们分组,并使用组\u concat
喜欢
9udxz4iz2#
你在找
group_concat()
功能。此函数聚合一个特定字段,用任意字符分隔这些字段。