mysql 根据多个字段分组
SELECT a.`key1`,a.`key2`,a.`key3`,a.`key4`,COUNT(DISTINCT b.id) FROM tr1 a
LEFT JOIN tr2 b ON a.`id`=b.`id`
GROUP BY a.`key1`,a.`key2`,a.`key3`,a.`key4`
有两个表:
table1
id key1 key2 key3 key4
1 112 222 333 null
2 112 222 333 null
3 134 222 333 444
4 134 000 333 444
5 178 212 312 412
table2
id
1
1
2
4
5
我想要对该表进行信息的统计:
1)查询table2,id去重;得到id=1、2、4、5;
2)利用id与table1关联,并根据key1、key2、key3、key4进行统计:id=1和id=2的几个key都一样,因此这几个key为一组,且出现次数为2
示例结果:
key1 key2 key3 key4 times
112 222 333 null 2
134 222 333 444 0
134 000 333 444 1
178 212 312 412 1
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。