QUERY 函式大解析(三):ORDER BY、LIMIT、OFFSET、LABEL

更新於 發佈於 閱讀時間約 8 分鐘

我們在最近的系列文介紹了 QUERY 函式的用法,有 SELECT、WHERE 就可以應付不少的搜尋狀況。今天再介紹四個小功能:ORDER BY、LIMIT、OFFSET 和 LABEL 給大家,讓你的 QUERY 更強大!

我在方格子上寫了一系列使用 QUERY 的教學文章,也歡迎你來看看:

QUERY 函式大解析,系列文索引


先來重點摘錄一下這四個功能:

  • ORDER BY:排序 QUERY 結果
  • LIMIT:限制回傳行數
  • OFFSET:跳過N行後執行 QUERY
  • LABEL:設定新的標題名稱

ORDER BY:排序 QUERY 結果

我們可以指定某個欄位為基準,對 QUERY 結果做遞增或遞減排序。語法很直接,就是:

=QUERY(..., "SELECT ....... ORDER BY 欄位字母")

例如我有個表格長這樣子:

raw-image

我想要搜尋資料庫內所有女性的資料,並希望回傳結果是以身分證字號的字母(也就是B欄)為基準,做遞增(A→Z)的排序的話,就是:

=QUERY(A1:E10, "SELECT * WHERE C = '女' ORDER BY B", 1)

就會得到:

raw-image

你會發現這邊不僅回傳所有女性(C欄都符合「女」)的資料,身分證字號也按照遞增順序排列整齊了(B→C→D→G→H)!

如果今天你想要做遞減的排序,只要在 ORDER BY 指令後指定好欄位後,再加個 DESC 就好,也就是:

=QUERY(..., "SELECT ....... ORDER BY 欄位字母 DESC)

用同樣的資料範圍,只把以身分證字號的首字順序遞減:

=QUERY(A1:E10, "SELECT * WHERE C = '女' ORDER BY B DESC", 1)

就會得到:

raw-image

所有性別符合「女」的資料都回傳了,身分證字號也是遞減顯示(H→G→D→C→B)。就是這麼簡單!但有幾點要注意:

  1. ORDER BY 目前還不支援中文排序(如筆劃順序、注音順序或拼音順序)。
  2. ORDER BY 的預設排序就是遞增,你也可以加上 ASC 表示遞增:ORDER BY # ASC。
  3. 建議可以和 IS NOT NULL 一起並用,可以確保 QUERY 結果不會在最初數行回傳空值。
  4. 記得要把這指令放在 WHERE 之後。


LIMIT:限制回傳行數

有時我們不需要那麼多訊息,可能只要資料庫的一部分就好(例如只想收到 50 個結果),LIMIT 就會是我們的好夥伴。語法也很單純:

=QUERY(..., "SELECT ....... LIMIT 行數")

這邊的行數就填入數字就好了。例如:

  • LIMIT 5:只回傳 5 行結果。
  • LIMIT 10:只回傳 10 行結果。
  • LIMIT 20:只回傳 20 行結果。

同樣的,假設我們只想要前三筆的所有資訊,那語法就是:

=QUERY(A1:E10, "SELECT * LIMIT 3", 1)

你就會得到:

raw-image

(不確定這邊的「標題」在說什麼的,可以右轉回去看一下:QUERY 函式大解析(一):基本原理與 SELECT 前面語法的部分!)

小提醒:

  1. LIMIT 後面只能接數字!
  2. 跟 ORDER BY 一起合用的話,可以得到「前」或「末」N筆的資料,這是一個很實用的連續技!使用語法是:=QUERY(..., "SELECT ....... ORDER BY 欄位 LIMIT 行數"),建議斟酌使用 DESC 來輔助你取得「前N筆」或「末N筆」的資料。


OFFSET:跳過N行後執行 QUERY

如題,輸入這個指令後就可以請 QUERY 跳過指定行數後,取得資料。直接上語法!

=QUERY(..., "SELECT ....... OFFSET 行數")

所以,如果你想:

  • 跳過 5 行開始取資料:=QUERY(..., "SELECT ....... OFFSET 5")
  • 跳過 10 行開始取資料:=QUERY(..., "SELECT ....... OFFSET 10")
  • 跳過 30 行開始取資料:=QUERY(..., "SELECT ....... OFFSET 30")

來看看同樣的資料庫:

raw-image

今天如果要跳過 3 行,開始取得剩下的資料,語法就會是:

=QUERY(A1:E10, "SELECT * OFFSET 3", 1)

你就會得到:

raw-image

稍稍對比,你會發現資料是從第 5 行開始取的,不包含標題、跳過了第 2、第 3、第 4 三行。

小提醒:

  1. OFFSET 也很常和 LIMIT 一起合用,得到從某行開始、特定數筆的資料。語法順序要稍稍注意,必須先寫 LIMIT 再寫 OFFSET。
    語法範例:
=QUERY(..., "SELECT ....... LIMIT 行數 OFFSET 行數")


LABEL:設定新的標題名稱

如果你必須在不更改原本資料庫的情況下,得重新設定新的標題並進行 QUERY,LABEL 就是個好選擇。語法如下:

=QUERY(..., "SELECT ....... LABEL 欄位字母 '想取的新名字'")

如果你想設定兩個以上的標題也當然是可以的,語法像是這樣:

=QUERY(..., "SELECT ....... 
LABEL 欄位字母甲 '想取的新名字甲',
欄位字母乙 '想取的新名字乙', ...")

一樣請出我們這次的資料庫:

raw-image

假如今天得在 QUERY 結果要把「姓名」(A欄)改成「Name」的話,我們的語法會寫成:

=QUERY(A1:E10, "SELECT * LABEL A 'Name'", 1)

執行結果如下:

raw-image

欸嘿!變成「Name」了!

那如果我要把全部的標題(名字、身分證字號、性別、手機號碼)都改成英文的話,就可以寫成:

=QUERY(A1:E10, "SELECT * LABEL A 'Name',
B 'ID',
C 'Gender',
D 'Mobile'", 1)

你就會得到:

raw-image

OK,打完收工!

小提醒:

  1. 如果有兩個以上的標題要指定,別忘了在標題和標題之間放上逗號(,)隔開,標題字串也要用單引號(')。
  2. 你如果想讓標題空白,也可以指定「''」:LABEL A ''。

我非常鼓勵你打開你現有的資料,搭配 WHERE 交互使用,會有更多不同的發現!我個人很喜歡 WHERE、ORDER BY 和 LIMIT 的組合技,可以讓我在篩選一定條件下需要的資料筆數,還可以按照自己的需求做排序,會讓 QUERY 更有效率,快速取得資料。如果你在使用上遇到任何問題,也歡迎你在文章下面留言讓我知道,我會盡力幫忙!

如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!

想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!

我是喜特先生,Mr. Sheet,我們下個教學見!



留言
avatar-img
留言分享你的想法!
喜特先生 Mr. Sheet -avatar-img
發文者
2022/04/27
Hi Gabriel!謝謝你的留言。 沒錯,這邊是我疏失了,LABEL 寫一次就可以囉! 我也已經編輯文章內容了,感謝指正 。:.゚ヽ(*´∀`)ノ゚.:。
喜特先生 Mr. Sheet -avatar-img
發文者
2024/01/30
QUERY 函式大解析,系列文索引提及了這篇文章,趕快過去看看吧!
Gabriel-avatar-img
2022/04/27
=QUERY(A1:E10, "SELECT * LABEL A 'Name', LABEL B 'ID'", LABEL C 'Gender', LABEL D 'Mobile'", 1) 請問後面B C D 的語法是不是不用寫LABEL呢? 我看網路上的參考好像是: =QUERY(A1:C13, "select * label A 'A Column', B 'B Column'")
avatar-img
喜特先生官方沙龍
19.1K會員
153內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
2025/04/20
請你試著在 Google 試算表的儲存格上打這個,按下 Enter: =WHATTHEFOXSAY() 會有神奇的事情發生喔 ✨
Thumbnail
2025/04/20
請你試著在 Google 試算表的儲存格上打這個,按下 Enter: =WHATTHEFOXSAY() 會有神奇的事情發生喔 ✨
Thumbnail
2024/06/02
上次介紹了 REPLACE 函式,可以用來取代儲存格內的特定文字。其實我們還有一個相似的函式叫 SUBSTITUTE,也有取代的功能,不過當然有一點不一樣的地方!今天會分享語法的範例,還有跟 REPLACE 的差異在哪。一起來看看!
Thumbnail
2024/06/02
上次介紹了 REPLACE 函式,可以用來取代儲存格內的特定文字。其實我們還有一個相似的函式叫 SUBSTITUTE,也有取代的功能,不過當然有一點不一樣的地方!今天會分享語法的範例,還有跟 REPLACE 的差異在哪。一起來看看!
Thumbnail
2024/05/25
這是文字處理基礎函式的第四篇文章,今天要來介紹 REPLACE 函式! REPLACE 可以取代掉儲存格內的文字,今天會分享一下它語法怎麼寫、也有兩個實際應用的案例。一起來看看! REPLACE 語法 REPLACE 的語法長了一點點,有四個參數要設定: =REPLACE(要取代
Thumbnail
2024/05/25
這是文字處理基礎函式的第四篇文章,今天要來介紹 REPLACE 函式! REPLACE 可以取代掉儲存格內的文字,今天會分享一下它語法怎麼寫、也有兩個實際應用的案例。一起來看看! REPLACE 語法 REPLACE 的語法長了一點點,有四個參數要設定: =REPLACE(要取代
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
我們介紹了字串和列表的索引和切片操作。索引使用方括號[]來選擇字串或列表中的特定元素,並可以使用正向索引(從0開始)或反向索引(從最後一個元素為-1)來訪問元素。切片使用方括號[]和冒號:來選擇字串或列表中的一段子序列,指定起始位置和結束位置(不包含),並可以使用步長來控制間隔。
Thumbnail
我們介紹了字串和列表的索引和切片操作。索引使用方括號[]來選擇字串或列表中的特定元素,並可以使用正向索引(從0開始)或反向索引(從最後一個元素為-1)來訪問元素。切片使用方括號[]和冒號:來選擇字串或列表中的一段子序列,指定起始位置和結束位置(不包含),並可以使用步長來控制間隔。
Thumbnail
探索Python學習筆記中列表的建立、存取和常用方法。從使用中括號定義列表到了解索引、新增、刪除、修改等操作,並介紹append、remove、count等常用方法。
Thumbnail
探索Python學習筆記中列表的建立、存取和常用方法。從使用中括號定義列表到了解索引、新增、刪除、修改等操作,並介紹append、remove、count等常用方法。
Thumbnail
範例句: 假設我們有一段文章以空白隔開的方式來切割詞彙,內容如下: 假設條件為: clauses:[提升,滿意度,問卷] 。 slop:4。 in_order: true ❗ 這裡的Slop代表範圍內不匹配的最大數量,從開始匹配的字詞框到最後加總一併進行計算。 查詢結構會是如此 請問上述條件是否能正
Thumbnail
範例句: 假設我們有一段文章以空白隔開的方式來切割詞彙,內容如下: 假設條件為: clauses:[提升,滿意度,問卷] 。 slop:4。 in_order: true ❗ 這裡的Slop代表範圍內不匹配的最大數量,從開始匹配的字詞框到最後加總一併進行計算。 查詢結構會是如此 請問上述條件是否能正
Thumbnail
本篇主要是介紹MongoDB有哪些進階的索引, 了解原理及功能後, 在應用上才能規劃出更有效率的索引, 而主要會談到以下五個索引類型: 複合索引。 部份索引。 多鍵索引。 全文索引。 TTL索引。 進入到索引類型之前先提醒一下,一個集合的索引數不能超過64個。 限制: 最多只能31個欄位做一組複合索
Thumbnail
本篇主要是介紹MongoDB有哪些進階的索引, 了解原理及功能後, 在應用上才能規劃出更有效率的索引, 而主要會談到以下五個索引類型: 複合索引。 部份索引。 多鍵索引。 全文索引。 TTL索引。 進入到索引類型之前先提醒一下,一個集合的索引數不能超過64個。 限制: 最多只能31個欄位做一組複合索
Thumbnail
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
Thumbnail
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
Thumbnail
陣列運用、擷取字串   對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~
Thumbnail
陣列運用、擷取字串   對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~
Thumbnail
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
Thumbnail
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
Thumbnail
在上一篇文章中,我們講解了 MongoDB 的基本操作,接下來想講講如何更有效率的查詢想要找的資料 模糊查詢 就是查詢的條件只要部分符合就可以找到了,不用查找的關鍵字完全正確,我們直接來舉個例子比較好理解 先假設有以下這些資料 模糊查詢,查找的資料 item 值內有包含 book 就返回 這樣就會找
Thumbnail
在上一篇文章中,我們講解了 MongoDB 的基本操作,接下來想講講如何更有效率的查詢想要找的資料 模糊查詢 就是查詢的條件只要部分符合就可以找到了,不用查找的關鍵字完全正確,我們直接來舉個例子比較好理解 先假設有以下這些資料 模糊查詢,查找的資料 item 值內有包含 book 就返回 這樣就會找
Thumbnail
Find 輸入一個 id 參數後,尋找相對應的一筆資料。 在 SQL 的部分: 如果 find 找不到相對應的資料時,會跳出兇殘的錯誤訊息: Find_by 輸入一個或多個參數後,找到相對應的一筆資料。 在 SQL 的部分: Where 輸入一個或多個參數後,找到相對應的多筆資料。
Thumbnail
Find 輸入一個 id 參數後,尋找相對應的一筆資料。 在 SQL 的部分: 如果 find 找不到相對應的資料時,會跳出兇殘的錯誤訊息: Find_by 輸入一個或多個參數後,找到相對應的一筆資料。 在 SQL 的部分: Where 輸入一個或多個參數後,找到相對應的多筆資料。
Thumbnail
本篇文章將會講述陣列 (Array) 及 foreach 陳述式,陣列是寫程式中關於大筆資料的儲存方式,而 foreach 是處理大筆資料的處理方式之一。
Thumbnail
本篇文章將會講述陣列 (Array) 及 foreach 陳述式,陣列是寫程式中關於大筆資料的儲存方式,而 foreach 是處理大筆資料的處理方式之一。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News