SQL語句詳細說明[部分]
我們現(xiàn)在回到函數(shù)上。記得我們用
SUM
這個指令來算出所有的 Sales (營業(yè)額)吧!如果我們的需求變成是要算出每一間店 (store_name) 的營業(yè)額 (sales),那怎么辦呢?在這個情況下,我們要做到兩件事:第一,我們對于 store_name 及 Sales 這兩個欄位都要選出。第二,我們需要確認(rèn)所有的 sales 都要依照各個 store_name 來分開算。這個語法為:
SELECT "欄位1", SUM("欄位2") FROM "表格名" GROUP BY "欄位1"
在我們的示范上
Store_Information 表格
|
store_name |
sales |
date |
|
Los Angeles |
$1500 |
jan-05-1999 |
|
San Francisco |
$300 |
jan-08-1999 |
|
Boston |
$700 |
jan-08-1999 |
我們就打入
SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name
結(jié)果 :
store_name SUM(Sales)
Los Angeles $1800
San Diego $250
Boston $700
當(dāng)我們選不只一個欄位,且其中至少一個欄位有包含函數(shù)的運用時,我們就需要用到 GROUP BY 這個指令。在這個情況下,我們需要確定我們有 GROUP BY 所有其他的欄位。換句話說,除了有包括函數(shù)的欄位外,我們都需要將其放在 GROUP BY 的子句中。
SQL 語句教程 (12) HAVING
那我們如何對函數(shù)產(chǎn)生的值來設(shè)定條件呢?舉例來說,我們可能只需要知道哪些店的營業(yè)額有超過 $1,500。在這個情況下,我們不能使用
WHERE
的指令。那要怎么辦呢?很幸運地,SQL 有提供一個
HAVING
的指令,而我們就可以用這個指令來達到這個目標(biāo)。
HAVING
子句通常是在一個 SQL 句子的最后。一個含有 HAVING 子句的 SQL 并不一定要包含
GROUP BY
子句。HAVING
的語法如下:
SELECT "欄位1", SUM("欄位2") FROM "表格名" GROUP BY "欄位1" HAVING (函數(shù)條件)
請讀者注意: GROUP BY 子句并不是一定需要的。
在我們Store_Information 表格這個例子中
Store_Information 表格
|
store_name |
sales |
date |
|
Los Angeles |
$1500 |
jan-05-1999 |
|
San Francisco |
$300 |
jan-08-1999 |
|
Boston |
$700 |
jan-08-1999 |
我們打入
SELECT store_name, SUM(sales) FROM Store_Information GROUP BY store_name HAVING SUM(sales) > 1500
結(jié)果 :
store_name SUM(Sales)
Los Angeles $1800
相關(guān)文章
深入解析NoSQL數(shù)據(jù)庫的分布式算法(圖文詳解)
這篇文章主要介紹了深入解析NoSQL數(shù)據(jù)庫的分布式算法,需要的朋友可以參考下2015-12-12
詳解數(shù)據(jù)庫中跨庫數(shù)據(jù)表的運算
跨庫數(shù)據(jù)表,是指邏輯上同一張數(shù)據(jù)表被分別存儲在不同數(shù)據(jù)庫中。接下來通過本文給大家介紹數(shù)據(jù)庫中跨庫數(shù)據(jù)表的運算方法,感興趣的朋友跟隨小編一起看看吧2018-11-11
比較SQL Server與Oracle、DB2數(shù)據(jù)庫的一些知識
本文比較大型數(shù)據(jù)庫SQL Server與Oracle、DB2的一些不同應(yīng)用之處。對于以后開發(fā)選擇什么樣的數(shù)據(jù)庫。2010-03-03
SQLite 創(chuàng)建數(shù)據(jù)庫實例操作
這篇文章主要介紹了SQLite 創(chuàng)建數(shù)據(jù)庫實例操作,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-05-05
動態(tài)SQL在梧桐數(shù)據(jù)庫的使用方法及適應(yīng)場景
這篇文章主要介紹了動態(tài)SQL在梧桐數(shù)據(jù)庫的使用方法及適應(yīng)場景,通過簡單的例子展示了如何在梧桐數(shù)據(jù)庫中使用動態(tài)SQL,動態(tài)SQL可以靈活處理不同量的輸入?yún)?shù),提升查詢效率,但也會增加代碼調(diào)試的難度,適用場景包括處理不確定的參數(shù)、通過輸入生成其他參數(shù)以及在for循環(huán)中使用2024-11-11
使用DataGrip創(chuàng)建數(shù)據(jù)庫并讀取sql文件圖文教程
這篇文章主要給大家介紹了關(guān)于使用DataGrip創(chuàng)建數(shù)據(jù)庫并讀取sql文件的相關(guān)資料,DataGrip是一款數(shù)據(jù)庫管理客戶端工具,方便連接到數(shù)據(jù)庫服務(wù)器,執(zhí)行sql、創(chuàng)建表、創(chuàng)建索引以及導(dǎo)出數(shù)據(jù)等,需要的朋友可以參考下2023-11-11
OceanBase自動生成回滾SQL的全過程(數(shù)據(jù)庫變更時)
在開發(fā)中,數(shù)據(jù)的變更與維護工作一般較頻繁,當(dāng)我們執(zhí)行數(shù)據(jù)庫的DML操作時,必須謹(jǐn)慎考慮變更對數(shù)據(jù)可能產(chǎn)生的后果,以及變更是否能夠順利執(zhí)行,所以本文給大家介紹了數(shù)據(jù)庫變更時,OceanBase如何自動生成回滾 SQL,需要的朋友可以參考下2024-04-04
利用SQL腳本導(dǎo)入數(shù)據(jù)到不同數(shù)據(jù)庫避免重復(fù)的3種方法
這篇文章主要給大家介紹了關(guān)于利用SQL腳本導(dǎo)入數(shù)據(jù)到不同數(shù)據(jù)庫避免重復(fù)的3種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10

