MySql 查询同一字段多个结果合并到一行显示 GROUP_CONCAT

先直接给出代码:

SELECT GROUP_CONCAT(tag) as tags
FROM table_tag tt 
WHERE tt.id in ('1','2')

我们实现合并一个字段的多个结果用到了mysql 函数 GROUP_CONCAT,

现有一个表 table_a 他有一个标签表 table_tag 结构如下:

1.表 table_a :

  • a_id:唯一标识
  • ......:其他无关字段

2.表 table_tag:

  • t_id: 唯一标识
  • a_id: table_a 的唯一标识
  • tag
  • ......:其他无关字段

一个标签 table_tag 对应一个或多个 table_a

现在,要查询 table_a 的信息和它对应的table_tag 并将 tag 字段合并到一起

SELECT a.*,
(SELECT GROUP_CONCAT(t.tag) FROM table_tag t WHERE t.a_id = a.a_id) as tags
FROM table_a where 1 LIMIT 10;

执行结果如下:
MySql 查询同一字段多个结果合并到一行显示 GROUP_CONCAT_第1张图片
如果有帮到您,打个赏呗

















你可能感兴趣的:(数据库)