萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> Mysql中SQL分組查詢group by的例子

Mysql中SQL分組查詢group by的例子

SQL分組查詢group by用法許多的朋友用到比較少而小編也一樣幾乎不用到它,不過昨天有用到一個分組查出指定字段數據並且條件上大於多少條的才可以顯示,其它的就自動過濾掉,下面一起來看看。

sql語句

SELECT *
FROM (

SELECT `字段` , count( * ) AS total
FROM `表名`
GROUP BY `分組字段`
) AS t
WHERE total >10 and 分組字段<>""


這個就是聯合查詢之後再把分組查出來的數據當作一個條件來進行處理,好了下面我們補充一下關於sql分組查詢的例子與細節問題。

1.使用group by進行分組查詢

在使用group by關鍵字時,在select列表中可以指定的項目是有限制的,select語句中僅許以下幾項:
〉被分組的列

〉為每個分組返回一個值得表達式,例如用一個列名作為參數的聚合函數
group by的使用在這只寫幾個例子吧:

例:

select courseID,avg(score) as 課程平均成績
from score
group by courseID

例:

select studentID as 學員編號,courseID as 內部測試,avg(score) as 內部測試平均成績
from score
group by studentID,courseID

2.使用having子句進行分組篩選
where子句只能對沒有分組統計前的數據行進行篩選,對分組後的條件的篩選必須使用having子句

例:

select studentID as 學員編號,courseID as 內部測試,avg(score) as 內部測試平均成績
from score
group by studentID,courseID
having avg(score)>60

在select語句中,where、group by、having子句和統計函數的執行次序如下:
where子句從數據源中去掉不符合去搜索條件的數據;group by子句搜集數據行到各個組中,統計函數為各個組計算統計值;having子句去掉不符合其組搜索條件的各組數據行 。

copyright © 萬盛學電腦網 all rights reserved