轉帖|使用教程|編輯:鮑佳佳|2021-04-28 10:16:47.850|閱讀 287 次
概述:ANSI SQL包含幾個聚合函數,使您可以對一組值執行計算以將其結果作為單個值返回。這些包括Count(),Min(),Max(),Sum()和AVG()等。默認情況下,聚合函數適用于所有行,但是您可以通過將WHERE子句應用于SELECT語句來縮小字段的范圍。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Navicat Premium是一個可連接多種數據庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數據庫,讓管理不同類型的數據庫更加的方便。
*這么優秀的數據庫工具怎能錯過呢!在線下單專享“一口價”,查看折扣價!想要獲取更多福利的朋友可以哦~
使用AVG()函數
AVG()檢索給定表達式的平均值。如果該函數找不到匹配的行,則返回NULL。我們將對Sakila示例數據庫運行查詢。它最初是為MySQL開發的,但此后已移植到大多數流行的DBMS。Navicat Premium是理想的數據庫客戶端,因為它支持從MySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL到SQLite的所有內容。此外,它還與Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure,Oracle Cloud,Google Cloud和MongoDB Atlas等云數據庫兼容。
電影表存儲有關虛構的Sakila視頻租賃商店的各個電影的信息。列包括標題,描述,運行時間,租金,等級和其他。
我們可以使用AVG()函數來確定所有電影的平均租賃成本,如下所示:
使用CASE語句
AVG()函數接受一個表達式。因此,它可以是列名,但可以是任何有效表達式。因此,我們可以通過將CASE語句作為參數傳遞給AVG()函數來有條件地應用AVG()函數。我們可以使用CASE語句確定只有PG評級的電影的平均Rental_rate,如下所示:
上面的查詢顯示了電影的總數,沒有PG評級的電影,以及所有電影以及具有PG評級的電影的平均租金。使用CONCAT()和FORMAT()函數將rental_rate顯示為貨幣。
使用GROUP BY子句
將AVG()僅應用于某些行的另一種方法是使用GROUP BY。它根據所選列匯總結果。因此,按評分分組結果將列出每個評分的平均Rental_rate:
結論
在今天的博客中,我們使用CASE語句和GROUP BY子句有條件地基于平均值列出電影記錄。
查詢在Navicat Premium 15中執行。它增加了100多個增強功能,并包括幾個新功能,可為您提供比以往更多的構建,管理和維護數據庫的方式!
相關內容推薦:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: