Home > Database > Mysql Tutorial > body text

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

WBOY
Release: 2016-06-07 16:07:03
Original
1153 people have browsed it

首先准备四张表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、C、D,

<p>--------------------------------     <br>A      | B  | C   | D     <br>a   b   |   a   c   |   a   d   |   d   e     <br>1   1   |   1   1   |   1   A   |   A   1     <br>2   2   |   1   3   |   2   B   |   B   2     <br>3   4   |   1   4   |   3   C   |   C   3     <br>4   6   |   2   1   |   4   D   |   D   4     <br>--------------------------------<br></p>
Copy after login

下面我们需要用一条sql语句将A表所有的列,B表对与A表a字段相关联的列求count,通过C表,将D表与A表关联起来,得到的结果如下:

<p>1   1   3   1     <br>2   2   1   2     <br>3   4   0   3     <br>4   6   0   4<br></p>
Copy after login
 

Mysql语句解决:

<p>select A.a,A.b,IFNULL(c,0) as c,D.a <br>from (select 1 as a,2 as b union all<br>select 2 as a,2 as b union all<br>select 3 as a,4 as b union all<br>select 4 as a,6 as b) as A <br>left outer join     <br>(select a,count(a) as c from(<br>select 1 as a,3 as c union all<br>select 1 as a,3 as c union all<br>select 1 as a,3 as c union all<br>select 2 as a,3 as c ) B group by a) as B<br>on A.a=B.a <br>join <br>(select 1 as a,'A' as d union all<br>select 2 as a,'B' as d union all<br>select 3 as a,'C' as d union all<br>select 4 as a,'D' as d ) as C <br>on A.a=C.a <br>join(select 1 as a,'A' as d union all<br>select 2 as a,'B' as d union all<br>select 3 as a,'C' as d union all<br>select 4 as a,'D' as d ) as D<br>on D.d=C.d<br></p>
Copy after login

【相关文章】
  • 如何理解SQL Server中的Ranking(1)
  • 如何从MySQL数据库表中检索数据
  • MYSQL数据库的查询优化技术

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template