翻譯|使用教程|編輯:吳園園|2020-03-16 16:47:12.987|閱讀 1554 次
概述:NSI SQL包含幾個(gè)聚合函數(shù),使您可以對一組值執(zhí)行計(jì)算以將其結(jié)果作為單個(gè)值返回。這些包括Count(),Min(),Max(),Sum()和AVG()等。默認(rèn)情況下,聚合函數(shù)適用于所有行,但是您可以通過將WHERE子句應(yīng)用于SELECT語句來縮小字段的范圍。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Navicat Premium是一個(gè)可連接多種數(shù)據(jù)庫的管理工具,它可以讓你以單一程序同時(shí)連接到MySQL、Oracle及PostgreSQL數(shù)據(jù)庫,讓管理不同類型的數(shù)據(jù)庫更加的方便。
點(diǎn)擊下載Navicat Premium最新試用版
ANSI SQL包含幾個(gè)聚合函數(shù),使您可以對一組值執(zhí)行計(jì)算以將其結(jié)果作為單個(gè)值返回。這些包括Count(),Min(),Max(),Sum()和AVG()等。默認(rèn)情況下,聚合函數(shù)適用于所有行,但是您可以通過將WHERE子句應(yīng)用于SELECT語句來縮小字段的范圍。此外,您可以使用其他一些技術(shù)有條件地選擇某些行,我們將在今天使用Navicat Premium探索這些技術(shù)。這些包括使用CASE語句以及GROUP BY子句。我們將這些技術(shù)應(yīng)用于AVG()函數(shù),但它們將與所有聚合函數(shù)同樣有效。
使用AVG()函數(shù)
AVG()檢索給定表達(dá)式的平均值。如果該函數(shù)找不到匹配的行,則返回NULL。我們將對Sakila示例數(shù)據(jù)庫運(yùn)行查詢。它最初是為MySQL開發(fā)的,但此后已移植到大多數(shù)流行的DBMS。Navicat Premium是理想的數(shù)據(jù)庫客戶端,因?yàn)樗С謴腗ySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL到SQLite的所有內(nèi)容。此外,它還與Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure,Oracle Cloud,Google Cloud和MongoDB Atlas等云數(shù)據(jù)庫兼容。
電影表存儲(chǔ)有關(guān)虛構(gòu)的Sakila視頻租賃商店的各個(gè)電影的信息。列包括標(biāo)題,描述,運(yùn)行時(shí)間,租金,等級和其他。
我們可以使用AVG()函數(shù)來確定所有電影的平均租賃成本,如下所示:
使用CASE語句
AVG()函數(shù)接受一個(gè)表達(dá)式。因此,它可以是列名,但可以是任何有效表達(dá)式。因此,我們可以通過將CASE語句作為參數(shù)傳遞給AVG()函數(shù)來有條件地應(yīng)用AVG()函數(shù)。我們可以使用CASE語句確定只有PG評級的電影的平均Rental_rate,如下所示:
上面的查詢顯示了電影的總數(shù),沒有PG評級的電影,以及所有電影以及具有PG評級的電影的平均租金。使用CONCAT()和FORMAT()函數(shù)將rental_rate顯示為貨幣。
使用GROUP BY子句
將AVG()僅應(yīng)用于某些行的另一種方法是使用GROUP BY。它根據(jù)所選列匯總結(jié)果。因此,按評分分組結(jié)果將列出每個(gè)評分的平均Rental_rate:
結(jié)論
在今天的博客中,我們使用CASE語句和GROUP BY子句有條件地基于平均值列出電影記錄。
查詢在Navicat Premium 15中執(zhí)行。它增加了100多個(gè)增強(qiáng)功能,并包括幾個(gè)新功能,可為您提供比以往更多的構(gòu)建,管理和維護(hù)數(shù)據(jù)庫的方式!
相關(guān)內(nèi)容推薦:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: