【问题标题】:Mysql join query with group byMysql 使用 group by 加入查询
【发布时间】:2017-11-14 22:04:13
【问题描述】:

我的数据库中有两个表

posts 表 (id,title,data) 和 tags 表 (id,post_id,tags)

标签表中的示例数据

标签表中的示例数据:

id  post_id tag
1   1   PHP
2   1   JS
3   2   C
4   2   C++
5   2   MySql

帖子表

id title date
1  post1 12/05/2015
2  post2  12/05/2016

我想要这样的输出

示例输出:

id  title   tags
1   Post1   PHP, JS
2   Post2   C, C++,MySql

我怎样才能写一个查询得到这样的结果

目前我执行左连接

SELECT * FROM  posts  LEFT JOIN tags ON tags.post_id=posts.id GROUP BY tags.post_id

我知道组 concat 用于获得这个结果,但我不知道如何使用它

【问题讨论】:

标签: php mysql join


【解决方案1】:

使用组 GROUP_CONCAT 以逗号分隔值的形式获取结果:

SELECT posts.id
     , posts.title
     , GROUP_CONCAT(tags.tag) 
  FROM  posts  
  LEFT 
  JOIN tags 
    ON tags.post_id = posts.id  
 GROUP 
    BY posts.id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多