使用GROUP BY對查詢結果進行分組和統(tǒng)計
在數(shù)據(jù)庫中,我們可以使用查詢語句SELECT來檢索存入的數(shù)據(jù)。有些情況下,我們需要對查詢的數(shù)據(jù)進行分組和統(tǒng)計。這時候就可以使用GROUP BY和HAVING子句。GROUP BY的基本語法和用途GRO
在數(shù)據(jù)庫中,我們可以使用查詢語句SELECT來檢索存入的數(shù)據(jù)。有些情況下,我們需要對查詢的數(shù)據(jù)進行分組和統(tǒng)計。這時候就可以使用GROUP BY和HAVING子句。
GROUP BY的基本語法和用途
GROUP BY通常用于組查詢,用于歸納匯總相關數(shù)據(jù)。它不屬于WHERE子句,可以直接在FROM的后面使用。它的基本語法為:GROUP BY { COLUMN_NAME | { ROLLUP | CUBE } ({COLUMN_NAME [, COLUMN_NAME ] .. })}
其中,COLUMN_NAME代表表中的字段名,ROLLUP | CUBE是GROUP BY子句的擴展,可以返回小計和總計記錄。
使用GROUP BY進行分組統(tǒng)計的示例
例如,我們可以通過以下查詢語句來獲取學生信息表中各個班級語文的平均成績:
SELECT studentclass as 班級, AVG(Chinese) as 平均成績 from Student_Information group by studentclass
在這個例子中,我們將學生信息按照班級進行了分組,并計算每個班級的語文平均成績。
使用GROUP BY進行排序的示例
除了分組統(tǒng)計,GROUP BY還可以配合排序對結果進行排序。例如,我們可以通過以下查詢語句來獲取學生信息表中各個班級語文的平均成績,并按照成績從高到低進行排序:
SELECT studentclass as 班級, AVG(Chinese) as 平均成績 from Student_Information group by studentclass ORDER BY 2 DESC
在這個例子中,我們將查詢結果按照第二列(即平均成績)進行降序排序。
通過使用GROUP BY和配合聚合函數(shù),我們可以根據(jù)需求檢索出各種需要的數(shù)據(jù)。無論是對數(shù)據(jù)進行分組統(tǒng)計還是進行排序,GROUP BY都是一個非常有用的工具。