方格精選

QUERY 函式大解析(六):SELECT 的四則運算

更新於 發佈於 閱讀時間約 5 分鐘
你知道 SELECT 除了回傳欄位、使用聚集函數外,還可以更進一步做加減乘除喔!這個系列是 QUERY 函式大解析的第六篇文章,如果還不知道什麼是 QUERY 的話,我還是很建議你從第一篇慢慢看、跟著我們的練習實際操作,就會更有概念囉!
我在方格子上寫了一系列使用 QUERY 的教學文章,也歡迎你來看看:

SELECT 可以玩的四則運算

四則運算就是加、減、乘、除,還有括號而在 SELECT 的四則運算可以用來計算欄跟欄的加減乘除,像是:
A + B、A - B
A * B、A / B
(A + B) * C、A / (B-C)
(A + B + C + D) / 4
四則運算的規則是「括號優先,先乘除、後加減」。你也可以再利用聚集函數、搭配 GROUP BY 做更完整的分組計算,像是:
SELECT A, sum(B) + sum(C) + sum(D)    GROUP BY A
SELECT A, avg(B) + sum(C) + count(D)  GROUP BY A
排列組合有很多,你可以用你的需求安排看看各種不同可能性!
另外,這類四則運算的輸出結果中,欄位都會顯得有點長,像這樣:
sum(sum(sum ... )))?
我會建議搭配 LABEL 一起使用、讓結果可以更好閱讀。例如:
  • SELECT A, sum(B) + sum(C) + sum(D) GROUP BY A
    LABEL sum(B) + sum(C) + sum(D) ‘加總結果’
那,我們馬上就來看一個簡單的案例:

範例

假如你要對下面的資料做個簡單的分析(練習用的試算表一樣放在這邊喔):
你會看到地點有台北、台中、高雄、宜蘭、花蓮、台東,有不同店舖,分別是青青文旅、雨農蔬食、山山露營還有海海衝浪。從 C 到 N 欄是各個店鋪在各月份的營收,從一月到十二月都有。來試試看第一題:

得到各個店鋪第一季的總營收

第一季就是一月到三月,那如果要得到一月到三月的總和,要計算的欄位就是 C + D + E 囉。所以就可以下:
=QUERY(A:N, "SELECT A, B, C + D + E")
來看看結果:
其實效果就和 SUM(C:E) 一樣的!

得到台中地區店鋪第一季的總營收

我們當然也可和 WHERE 結合,請 QUERY 算只符合條件的加減乘除。例如,我只想算台中地區的店舖的總營收,那就是「WHERE A = '台中'」。那我們來試試看:
=QUERY(A:N, "SELECT A, B, C + D + E WHERE A = '台中'")
來看看結果:

得到各店鋪全年的營收,並用季來分

要做出類似資料透視表的方法也是可以的!我們也可以把一月、二月、三月分組、四月、五月、六月分組等,就可以這麼寫:
=QUERY(A:N,"SELECT A, B,
sum(C) + sum(D) + sum(E),
sum(F) + sum(G) + sum(H),
sum(I) + sum(J) + sum(K),
sum(L) + sum(M) + sum(N) 
WHERE A IS NOT NULL 
GROUP BY A, B")
來看看結果:
不過這邊的抬頭還是有點醜醜的,不好讀,我們可以再用 LABEL 規定好名稱:
=QUERY(A:N,
"SELECT A, B, 
sum(C) + sum(D) + sum(E), 
sum(F) + sum(G) + sum(H), 
sum(I) + sum(J) + sum(K),
sum(L) + sum(M) + sum(N) 
WHERE A IS NOT NULL
GROUP BY A, B
LABEL sum(C) + sum(D) + sum(E) '第一季',
sum(F) + sum(G) + sum(H) '第二季',
sum(I) + sum(J) + sum(K) '第三季',
sum(L) + sum(M) + sum(N) '第四季'")
來看看結果吧!
啊~舒服多了!

學會這個的話,方便做欄與欄之間的加減乘除,讓你除了簡單的 SELECT、聚集函數之外也有更多可能性。
如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!
想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!
我是喜特先生,Mr. Sheet,我們下個教學見!
avatar-img
14.5K會員
148內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
喜特先生官方沙龍 的其他內容
有了 IF 之後,只要再加上一個 S,世界就會變得不一樣!IFS 可以判斷複數的條件,快速幫你整理分類資料,會了 IF,就順便多學一個 IFS 吧!
「喔就那個 VLOOKUP 啊」V...?V 什麼? VLOOKUP 能應用的範圍可以很廣,像是簡單的查表對照、資料驗證、跟 IF 的連動、加減乘除等等都能用上。今天想寫長一點的文章來稍稍說明一下 VLOOKUP 究竟是什麼,也附上好用的範例給大家參考參考!
日常生活中其實都會遇到不同的「如果...那就...不然...」,你也可以用試算表的 IF 幫你做資料的判斷!把麻煩事丟給電腦,還給自己清幽的人生,如何如何~
如果你的資料會隨著時間增減、需要同步,你或許可以考慮用 Google 試算表的 IMPORTRANGE 來解決你的問題!
有了 IF 之後,只要再加上一個 S,世界就會變得不一樣!IFS 可以判斷複數的條件,快速幫你整理分類資料,會了 IF,就順便多學一個 IFS 吧!
「喔就那個 VLOOKUP 啊」V...?V 什麼? VLOOKUP 能應用的範圍可以很廣,像是簡單的查表對照、資料驗證、跟 IF 的連動、加減乘除等等都能用上。今天想寫長一點的文章來稍稍說明一下 VLOOKUP 究竟是什麼,也附上好用的範例給大家參考參考!
日常生活中其實都會遇到不同的「如果...那就...不然...」,你也可以用試算表的 IF 幫你做資料的判斷!把麻煩事丟給電腦,還給自己清幽的人生,如何如何~
如果你的資料會隨著時間增減、需要同步,你或許可以考慮用 Google 試算表的 IMPORTRANGE 來解決你的問題!
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
※ 為什麼需要 Subquery? 當⼀個任務需要多個 Query 完成任務,可以使⽤ Subquery 把多個 Query 合併成⼀個 Query。 當我們在進行SQL查詢時,每次查詢都需要在Web Server和資料庫之間來回傳遞資料。這個過程會產生網路延遲,特別是當兩者之間的物理距離較遠時
Thumbnail
※ GROUP BY 用於將數據表中的數據按照一個或多個列進行分組。例如在處理一個表格的資料時,可以指定欄位,一個或是多個,然後把將其視為ID進行分組處理。 ※ 語法 SELECT column1, column2, ..., aggregate_function(column) FROM
Thumbnail
※ 什麼是ORDER BY? 可以讓SELECT出來的結果,根據你想要的方式排序。簡單說,用於對查詢結果進行排序。 ※ 語法: SELECT select_list FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC]
Thumbnail
※ 語法 SELECT select_list FROM table_name​ ※ 解析順序 From:從哪裡拿? SELECT:要 "拿什麼" 資料? ※ 使用場景: Single column(單一欄位): Multiple column(多個欄位): All colu
Thumbnail
在進行SQL查詢邏輯更改時,需要適當地使用SubQuery和join來達到新的排序需求。本文將介紹原本的撈取邏輯、需求以及如何使用SubQuery來解決新的排序需求。
Thumbnail
題目敘述 Combination Sum IV 給定一個輸入陣列nums,和目標值target,從nums裡面挑數字去湊出總和 = target,數字可以重複挑選。 請問有多少排列數可以湊出target? 註: 排列數的意思就是位置不同代表兩種不同的方法數。
如何在SQL實踐中EXCEL 常用功能 篩選 和 擷取文字串?需要熟練地使用分組(GROUP BY) 與 排序 (ORDER BY) 以及SUBSTRING_INDEX函數!
Thumbnail
在POWER QUERY從0到1 #6,就有介紹過資料合併這個功能。 #6 從0到1的POWER QUERY 資料合併 神似VLOOKUP但比他好用100倍 資料合併很神似函數的VLOOKUP,但除了單純以VLOOKUP方式查找合併資料之外,總共有6種不同的合併方式。 用一個簡單的範例來做
Thumbnail
SUMIF是EXCEL中一個超級實用的統計函數,他可以依據指定的關鍵字進行加總。 SUMIF有條件加總 函數說明=SUMIF(條件範圍,條件,加總範圍) 但如果遇到很多個資料範圍,大多數的人就會使用很多個SUMIF計算後再相加,如下範例所示。 其實這樣多範圍的資料不需要3個SUMIF,
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
※ 為什麼需要 Subquery? 當⼀個任務需要多個 Query 完成任務,可以使⽤ Subquery 把多個 Query 合併成⼀個 Query。 當我們在進行SQL查詢時,每次查詢都需要在Web Server和資料庫之間來回傳遞資料。這個過程會產生網路延遲,特別是當兩者之間的物理距離較遠時
Thumbnail
※ GROUP BY 用於將數據表中的數據按照一個或多個列進行分組。例如在處理一個表格的資料時,可以指定欄位,一個或是多個,然後把將其視為ID進行分組處理。 ※ 語法 SELECT column1, column2, ..., aggregate_function(column) FROM
Thumbnail
※ 什麼是ORDER BY? 可以讓SELECT出來的結果,根據你想要的方式排序。簡單說,用於對查詢結果進行排序。 ※ 語法: SELECT select_list FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC]
Thumbnail
※ 語法 SELECT select_list FROM table_name​ ※ 解析順序 From:從哪裡拿? SELECT:要 "拿什麼" 資料? ※ 使用場景: Single column(單一欄位): Multiple column(多個欄位): All colu
Thumbnail
在進行SQL查詢邏輯更改時,需要適當地使用SubQuery和join來達到新的排序需求。本文將介紹原本的撈取邏輯、需求以及如何使用SubQuery來解決新的排序需求。
Thumbnail
題目敘述 Combination Sum IV 給定一個輸入陣列nums,和目標值target,從nums裡面挑數字去湊出總和 = target,數字可以重複挑選。 請問有多少排列數可以湊出target? 註: 排列數的意思就是位置不同代表兩種不同的方法數。
如何在SQL實踐中EXCEL 常用功能 篩選 和 擷取文字串?需要熟練地使用分組(GROUP BY) 與 排序 (ORDER BY) 以及SUBSTRING_INDEX函數!
Thumbnail
在POWER QUERY從0到1 #6,就有介紹過資料合併這個功能。 #6 從0到1的POWER QUERY 資料合併 神似VLOOKUP但比他好用100倍 資料合併很神似函數的VLOOKUP,但除了單純以VLOOKUP方式查找合併資料之外,總共有6種不同的合併方式。 用一個簡單的範例來做
Thumbnail
SUMIF是EXCEL中一個超級實用的統計函數,他可以依據指定的關鍵字進行加總。 SUMIF有條件加總 函數說明=SUMIF(條件範圍,條件,加總範圍) 但如果遇到很多個資料範圍,大多數的人就會使用很多個SUMIF計算後再相加,如下範例所示。 其實這樣多範圍的資料不需要3個SUMIF,
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為