美文网首页
数据库mysql将id相同数据合并-group_concat函数

数据库mysql将id相同数据合并-group_concat函数

作者: 奔腾的小溪 | 来源:发表于2020-07-10 16:20 被阅读0次

    写在前面
    最近数据表新增了两个搞事情的字段,近一个月id,近一个月出现的次数。通过mysql就可以快速实现。
    开始表演

    • 建表语句
    create table `test1` (
         `id` int(11),
         `enbid` int(6),
         `cid` int(6),
         `abnor_id_month` varchar(50),
         `abnor_count_month` int(10)
         );
    
    • 样例数据
    insert into test1(id,enbid,cid) values(1,12,3),(2,12,5),
    (3,1,4),(4,12,5),(5,12,5),(6,1,3)(7,1,3);
    
    • 查询结果如下: 查询结果1.png
    • 插入近一个月异常id
    update test1 k left join (select a.id as w, count(b.id) as e,group_concat(b.id) as r
     from test1 a  left join test1 b on a.enbid=b.enbid and a.cid=b.cid  and a.id !=b.id 
    group by a.id )l on k.id=l.w set k.abnor_id_month=l.r;
    
    • 查询结果如下: 查询结果2.png
    • 插入近一个月异常次数
    update test1 k left join (select a.id as w, count(b.id) as e,group_concat(b.id) as r
     from test1 a  left join test1 b on a.enbid=b.enbid and a.cid=b.cid  and a.id !=b.id 
    group by a.id )l on k.id=l.w set k.abnor_count_month=l.e;
    
    • 查询结果如下: 查询结果3.png
      写在后面
      这个sql看着很简单,但是其实很有用,是一个好轮子 Best Wishes。

    相关文章

      网友评论

          本文标题:数据库mysql将id相同数据合并-group_concat函数

          本文链接:https://www.haomeiwen.com/subject/wysmcktx.html