专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » mysql数据库:MySQL数据库中如何解决分组统计的问题 »正文

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

来源: 发布时间:星期三, 2009年9月2日 浏览:4次 评论:0
首先准备 4张表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 all
select 2 as a,2 as b union all
select 3 as a,4 as b union all
select 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 all
select 1 as a,3 as c union all
select 1 as a,3 as c union all
select 2 as a,3 as c ) B group by a) as B
on A.a=B.a
join
(select 1 as a,'A' as d union all
select 2 as a,'B' as d union all
select 3 as a,'C' as d union all
select 4 as a,'D' as d ) as C
on A.a=C.a
join(select 1 as a,'A' as d union all
select 2 as a,'B' as d union all
select 3 as a,'C' as d union all
select 4 as a,'D' as d ) as D
on D.d=C.d









0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: