程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 關於group by 兩個或以上條件的分析,groupby

關於group by 兩個或以上條件的分析,groupby

編輯:MySQL綜合教程

關於group by 兩個或以上條件的分析,groupby


關於group by 兩個或以上條件的分析

   

原文地址:http://uule.iteye.com/blog/1569262

  • 博客分類: 
  • 數據庫
 

首先group by 的簡單說明:

   group by 一般和聚合函數一起使用才有意義,比如 count sum avg等,使用group by的兩個要素:
   (1) 出現在select後面的字段 要麼是是聚合函數中的,要麼就是group by 中的.
   (2) 要篩選結果 可以先使用where 再用group by 或者先用group by 再用having

下面看下 group by多個條件的分析:

在SQL查詢器輸入以下語句
create table test
(
a varchar(20),
b varchar(20),
c varchar(20)
)

insert into test values(1,'a','甲')
insert into test values(1,'a','甲')
insert into test values(1,'a','甲')
insert into test values(1,'a','甲')
insert into test values(1,'a','乙')
insert into test values(1,'b','乙')
insert into test values(1,'b','乙')
insert into test values(1,'b','乙')

第一次查詢

select * from test; 結果如下圖:

 

結果中 按照b列來分:則是 5個a 3個b.


按照c列來分:則是 4個甲 4個乙.


第二次 按照 b列來分組 代碼如下
select   count(a),b from test group by b

第三次 按照 c列來分組 代碼如下
select count(a),c from test group by c


第四次 按照 b c兩個條件來分組
select count(a),b,c from test group by b,c

第五次 按照 c b 順序分組
select count(a),b,c from test group by c,b

可以看出 group by 兩個條件的工作過程:

先對第一個條件b列的值 進行分組,分為 第一組:1-5, 第二組6-8,然後又對已經存在的兩個分組用條件二 c列的值進行分組,發現第一組又可以分為兩組 1-4,5

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved