程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql查詢(筆記二)

Mysql查詢(筆記二)

編輯:MySQL綜合教程

 

 

 

2.聚合函數使用時必須有

 

 

比如有一個表

求平均成績是用聚合函數

 

3.分組,排序,再次篩選,取幾條執行順序

4.如上表要求查詢

方法一:分步查詢

先查出

然後再查這些同學的平均分,需要

便得到表

name

張三

李四

 

注意sql的執行順序

先執行

會得到表2:

name

張三

張三

李四

李四

王五

 

之後再分組和再篩選

但要注意雖然group by前,但group by是作為

然後在表

第二步:

找到這些學生後,在把學生名最為查詢條件再次篩選,因為第一步篩選掉了及格的了的成績,結果破壞了數據的原始性,所以還得進行一次篩選

 

 select name,avg(score) from stu where name in (select name from stu where

 score<60  group by name having count(name)>=2) group by name;

 

分析:首先運行

得到下表3:

name

Score<60

張三

0

張三

1

張三

1

李四

1

李四

1

王五

1

比如字段

從表三發現:

於是

 

 gk>=2;

聚合函數的執行時同時進行

得到結果表:

顯然方法二比一更簡潔高效

未完待續....!

 

 

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