數(shù)據(jù)庫里的分組查詢
數(shù)據(jù)庫中的分組查詢是一種常用的功能,它可以根據(jù)指定的條件對數(shù)據(jù)進(jìn)行分組并進(jìn)行統(tǒng)計(jì)。本文將介紹幾個(gè)常見的分組查詢示例。 例1:查詢每班有多少人 要查詢每個(gè)班級的學(xué)生人數(shù),可以使用以下SQL語句:
數(shù)據(jù)庫中的分組查詢是一種常用的功能,它可以根據(jù)指定的條件對數(shù)據(jù)進(jìn)行分組并進(jìn)行統(tǒng)計(jì)。本文將介紹幾個(gè)常見的分組查詢示例。
例1:查詢每班有多少人
要查詢每個(gè)班級的學(xué)生人數(shù),可以使用以下SQL語句:
SELECT classno, count(*)
FROM studentgroup
GROUP BY classno
上述語句中,classno
表示班級編號,count(*)
表示該班級的學(xué)生人數(shù)。通過GROUP BY
關(guān)鍵字將數(shù)據(jù)按照班級編號進(jìn)行分組,并使用count(*)
函數(shù)統(tǒng)計(jì)每個(gè)班級的學(xué)生人數(shù)。
例2:查詢每位老師所承擔(dān)的課程數(shù)
要查詢每位老師所承擔(dān)的課程數(shù),可以使用以下SQL語句:
SELECT teacher, count(*) as '門數(shù)'
FROM coursegroup
GROUP BY teacher
上述語句中,teacher
表示老師姓名,count(*)
表示該老師所承擔(dān)的課程數(shù)。同樣地,通過GROUP BY
關(guān)鍵字將數(shù)據(jù)按照老師姓名進(jìn)行分組,并使用count(*)
函數(shù)統(tǒng)計(jì)每位老師所承擔(dān)的課程數(shù)。
例3:查詢每個(gè)學(xué)生的選課門數(shù)
要查詢每個(gè)學(xué)生的選課門數(shù),可以使用以下SQL語句:
SELECT stuno, count(*) as '門數(shù)'
FROM stucougroup
GROUP BY stuno
上述語句中,stuno
表示學(xué)生學(xué)號,count(*)
表示該學(xué)生的選課門數(shù)。同樣地,通過GROUP BY
關(guān)鍵字將數(shù)據(jù)按照學(xué)生學(xué)號進(jìn)行分組,并使用count(*)
函數(shù)統(tǒng)計(jì)每個(gè)學(xué)生的選課門數(shù)。
例4:查詢選修的課程門數(shù)大于三門的學(xué)生學(xué)號
要查詢選修課程門數(shù)大于三門的學(xué)生學(xué)號,可以使用以下SQL語句:
SELECT stuno, count(*)
FROM stucougroup
GROUP BY stuno
HAVING count(*) > 3
上述語句中,stuno
表示學(xué)生學(xué)號。通過GROUP BY
關(guān)鍵字將數(shù)據(jù)按照學(xué)生學(xué)號進(jìn)行分組,并使用count(*)
函數(shù)統(tǒng)計(jì)每個(gè)學(xué)生的選課門數(shù)。通過HAVING
關(guān)鍵字篩選出選修課程門數(shù)大于三門的學(xué)生學(xué)號。
例5:查詢班級人數(shù)超過25人的班級
要查詢班級人數(shù)超過25人的班級,可以使用以下SQL語句:
SELECT classno, count(*)
FROM studentgroup
GROUP BY classno
HAVING count(*) > 25
上述語句中,classno
表示班級編號。通過GROUP BY
關(guān)鍵字將數(shù)據(jù)按照班級編號進(jìn)行分組,并使用count(*)
函數(shù)統(tǒng)計(jì)每個(gè)班級的學(xué)生人數(shù)。通過HAVING
關(guān)鍵字篩選出班級人數(shù)超過25人的班級。
通過以上幾個(gè)分組查詢的示例,我們可以更好地理解和應(yīng)用數(shù)據(jù)庫中的分組查詢功能。在實(shí)際的數(shù)據(jù)庫操作中,根據(jù)具體需求選擇合適的分組查詢語句,可以更高效地獲取所需的數(shù)據(jù)結(jié)果。