Heim > Datenbank > MySQL-Tutorial > MySQL数据库中如何解决分组统计的问题

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 16:07:03
Original
1212 Leute haben es durchsucht

首先准备四张表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>
Nach dem Login kopieren

下面我们需要用一条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>
Nach dem Login kopieren
 

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>
Nach dem Login kopieren

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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
So ändern Sie MySQL in MySQL
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Startfehler unter Centos
Aus 1970-01-01 08:00:00
0
0
0
MySQL stoppt den Prozess
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage