MySQL相同数据去重拼接某一个字段

最近写SQL遇到了一些问题,就是如何把重复的数据去重,然后把某一个字段进行拼接

  • 废话不多说,先看一下遇到的问题


    1561078426.png
  • 解决方案

在MySQL里有一个函数叫GROUP_CONCAT可以自行百度,这里就不做过多解释

SELECT
    a.url url,
    GROUP_CONCAT( c.NAME SEPARATOR ',' ) AS NAME 
FROM
    permission a
    LEFT JOIN role_permission b ON a.id = b.pid
    LEFT JOIN role c ON c.id = b.rid 
WHERE
    a.url != '' 
GROUP BY
    a.url
  • 查询结果


    1561079156(1).jpg

你可能感兴趣的:(MySQL相同数据去重拼接某一个字段)