您好,欢迎访问一九零五行业门户网

MySQL数据库中如何解决分组统计的问题_MySQL

首先准备四张表a、b、c、d,
--------------------------------     a      | b  | c   | d     a   b   |   a   c   |   a   d   |   d   e     1   1   |   1   1   |   1   a   |   a   1     2   2   |   1   3   |   2   b   |   b   2     3   4   |   1   4   |   3   c   |   c   3     4   6   |   2   1   |   4   d   |   d   4     --------------------------------
下面我们需要用一条sql语句将a表所有的列,b表对与a表a字段相关联的列求count,通过c表,将d表与a表关联起来,得到的结果如下:
1   1   3   1     2   2   1   2     3   4   0   3     4   6   0   4
mysql语句解决:
select a.a,a.b,ifnull(c,0) as c,d.a from (select 1 as a,2 as b union allselect 2 as a,2 as b union allselect 3 as a,4 as b union allselect 4 as a,6 as b) as a left outer join     (select a,count(a) as c from(select 1 as a,3 as c union allselect 1 as a,3 as c union allselect 1 as a,3 as c union allselect 2 as a,3 as c ) b group by a) as bon a.a=b.a join (select 1 as a,'a' as d union allselect 2 as a,'b' as d union allselect 3 as a,'c' as d union allselect 4 as a,'d' as d ) as c on a.a=c.a join(select 1 as a,'a' as d union allselect 2 as a,'b' as d union allselect 3 as a,'c' as d union allselect 4 as a,'d' as d ) as don d.d=c.d
其它类似信息

推荐信息