零基礎初探SQL (二)

閱讀時間約 5 分鐘

好不容易產出自己要的資訊,該如何有序地整理?

擅長使用excel 的朋友一定不陌生使用「篩選」並將資料: 降冪 or 升冪排序,或者使用 樞紐分析表 pivot table 快速探索資料,那在SQL實踐中,你會需要熟練地使用分組(GROUP BY) 與 排序 (ORDER BY)!

分組(GROUP BY) 與 排序 (ORDER BY) 傻傻分不清?

何時使用GROUP BYORDER BY頗重要,牧牧初入門常被絆住,這兩個語句分別有不同的用途:

GROUP BY的使用時機

  • 目的GROUP BY用於將查詢結果集中的行分組成較小的集合。
  • 場景:常與聚合函數一起使用,用於對每個分組的數據進行匯總或統計分析。
    • 當你需要對某些欄位的值進行聚合計算,例如SUM()、AVG()、COUNT()、MAX()、MIN()等)時,使用GROUP BY來指定基於哪些欄位的值進行分組。
    • 例:你想要計算每個部門的員工數,按部門欄進行分組並計算每組的行數。

ORDER BY的使用時機

  • 目的ORDER BY用於對查詢結果的行進行排序。
  • 場景:不改變數據的分組,只是改變行的顯示順序。
    • 當你需要按照某一列或多列的值對結果集進行排序時使用。排序可以是升序(ASC)或降序(DESC)。
    • 如:如果你想要查看所有員工的薪資列表,從高到低排序,就可以使用ORDER BY語句按薪資降序排列。

範例

假設有一個employees表,包含department, salary等列。

  • 計算每個部門的平均薪資
    sqlCopy codeSELECT department, AVG(salary) AS average_salary
    FROM employees
    GROUP BY department;
    這裡使用GROUP BY按部門分組,然後計算每個部門的平均薪資。
  • 查看員工薪資列表,按薪資降序排列
    sqlCopy codeSELECT * FROM employees
    ORDER BY salary DESC;
    這裡使用ORDER BY按薪資降序排列所有員工的記錄。

簡單來說,當你想要對數據進行匯總或按組統計時,使用GROUP BY;當你想要改變查詢結果的顯示順序時,使用ORDER BY

ORDER BY的注意事項

假設有一個user_profile表,包含device_id, gpa,age等列。

若我想按gpa降序排序,然後在gpa相同的情況下按age降序排序:

sqlCopy codeSELECT device_id, gpa, age
FROM user_profile
ORDER BY gpa DESC, age DESC

在SQL中,當指定多個排序條件時,每個排序條件都需要指明是升序(ASC)還是降序(DESC)。如果沒有為每個條件明確指定,那麼只有第一個條件被認為是指定的排序方式,其餘條件默認為升序。

這樣,SQL查詢首先會按gpa進行降序排序,如果有兩個用戶的gpa相同,則會按他們的age進行降序排序。


擷取資料串中的字元

EXCEL大神們面對長長的資料串,除了使用函數 left or right之外,處理大批量資料的話對「資料剖析」按照 分隔符號 或 固定寬度拆分,想必不陌生!

在SQL 中也有類似的函數 SUBSTRING_INDEX


SUBSTRING_INDEX提取需要的字元

假設有一個profile欄位,其值是像"180cm,75kg,27,male"這樣的字符串,包含了四部分信息:身高、體重、年齡、性別,且這些信息由逗號分隔。

我要如何單純提取年齡?

當使用SUBSTRING_INDEX(profile, ",", 3)函數時,這是怎麼工作的:

  • SUBSTRING_INDEX是一個字符串函數,用來根據指定的分隔符(在這裡是逗號,)來分割字符串。
  • 第一個參數是原始字符串,即profile
  • 第二個參數是分隔符,這裡是逗號,
  • 第三個參數指定了從字符串的開頭開始,要提取多少個分隔的元素。在這裡是3,意味著從左邊開始數,要提取直到第三個逗號之前的所有內容

因此,SUBSTRING_INDEX(profile, ",", 3)會從"180cm,75kg,27,male"中提取出"180cm,75kg,27"。從開頭到第三個逗號之前的部分,也就是包括身高、體重和年齡,性別部分不在此次提取的範圍。


當再次使用SUBSTRING_INDEX(profile, ",", -1)函數時,這是怎麼工作的:

SUBSTRING_INDEX函數,這次是以","為分隔符,使用-1作為第三個參數。這告訴函數從字符串的右側開始計數,並提取最後一個逗號之後的所有內容。在我們的例子中,這意味著從"180cm,75kg,27"中提取出"27",也就是年齡。


熟悉這些指令,可以幫助我們再使用SQL時,如同使用EXCEL 單次對大批量的資料進行處理!


5會員
11內容數
About me living a vivid life wholeheartedly, I got some thoughts to share. :)
留言0
查看全部
發表第一個留言支持創作者!
牧牧的沙龍 的其他內容
現金流如同一間公司的血液,若沒有足夠的資金,「一文錢難倒英雄漢」!如何有效控管企業的現金流,提供新創、中小企業實務上的思考方向,手把手帶你建立企業現金流量表!
現金流如同一間公司的血液,若沒有足夠的資金,「一文錢難倒英雄漢」!如何有效控管企業的現金流,提供新創、中小企業實務上的思考方向,手把手帶你建立企業現金流量表!
你可能也想看
Google News 追蹤
Thumbnail
本專欄將提供給您最新的市場資訊、產業研究、交易心法、精選公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
Thumbnail
一開始在本篇的作者自序即提到,所有人都認為投資理財很艱深,所以有人非常認真,努力學習,也有人因此完全放棄而不理財,以結果論來看,認真學習的人,不一定會賺錢,而完全放棄的人,絕對不會賠錢,但是卻會被通貨膨脹率影響而使自已的錢越變越薄。 投資理財說穿了,是「買低賣高」四個字,兩個關鍵是「買什麼?」
Thumbnail
就是辦公室裡給大家隨手拿來看的讀物,也算輕鬆好讀,很快就看完,可以增加一點理財常識。 自從去年開始聽股癌之後,對理財總算是開始有一點常識,知道有哪些理財工具,以及為了不讓自己賺的錢因為實質購買力下降而被通膨蠶食鯨吞,慢慢不只是存點優存。 過去真的沒認真研究過的股市、基金、債券、ETF、投資型保單、黃
Thumbnail
葉子觀察是很好的速寫起手式素材 ☝自學素材: ①老師自拍示範影片 ②實物投影機現場示範 😉暖機題: 教室內先觀察第一格的葉子圖片, 試畫第二格,修改調整再畫第三格。
Thumbnail
速寫初體驗! ☝自學素材: ①國際城市速寫者網站( Urban Sketchers) 作品圖像瀏覽 ②實物投影機下老師的簡單示範 ✌思考:如何在不可用鉛筆和橡皮擦之下,用心觀察小物,直接用0.8代針筆和一支螢光筆速寫?
Thumbnail
用自己的話,說明「速寫是什麼?」 國中藝術課本,終於有一個完整的速寫單元了🎉🎉 由於課本寫得相當簡明,我放心給一個超開放的題目之後, 就讓孩子瀏覽課本,自己寫答案。
談到股債配置,在投資學中是個老生常談的話題;但檢視許多朋友實際的手中持股,有按此原則執行的實在少之又少,大多是大象腿般的偏重某種類股,或是某種產業,原因之一不外乎是投資該類股/產業有獲利經驗,因此特別有信心,所以並沒有注意到,在沒有股債配置的狀況下,萬一股災發生,將難逃全部套牢的命運。 其實,想投資
在上一篇«投資前注意三件事,保你一路順風»中,有幾位讀者反應,台灣沒有幾個台積電能如此優異,更沒有幾個投資人能從頭抱到尾,更多的是,例如股價曾上千元俱樂部後又一路滑落到百元以內的宏X電這樣的地雷型股票。 而之所以借用台積電作為例子,說明投資它歷時23年的報酬率是89.6倍,並非要突顯個股名牌,想表達
如果透過前一篇投資肌耐力的文章,你已經明白只做定存有多可惜,而對投資心動,也打算行動了,那趁進場之前,先來建立正確的投資認知,希望好觀念能保你在投資路上一路順風。 先來說一下什麼是投資。 一般公司上市公開發行股票,而你投資這家公司,就是這家公司的股東,擁有部份股權。 假如一家上市公司,去年賺了10
你是用六位數提款密碼,保護四位數存款的小資族嗎? 台灣長期處於低薪環境已是不爭的事實,但台灣人的退休理財方式,更是跌破專家眼鏡。某壽險公司24日公布與跨校團隊合作理財調查,有高達59.6%的民眾用定存來規劃退休理財,中央大學管學院教授楊曉文說:「民眾理財保守程度遠高於我們想像」。 低薪環境也許不能操
Thumbnail
本專欄將提供給您最新的市場資訊、產業研究、交易心法、精選公司介紹,以上內容並非個股分析,還請各位依據自身狀況作出交易決策。歡迎訂閱支持我,獲得相關內容,也祝您的投資之路順遂! 每年 $990 訂閱方案👉 https://reurl.cc/VNYVxZ 每月 $99 訂閱方案👉https://re
Thumbnail
一開始在本篇的作者自序即提到,所有人都認為投資理財很艱深,所以有人非常認真,努力學習,也有人因此完全放棄而不理財,以結果論來看,認真學習的人,不一定會賺錢,而完全放棄的人,絕對不會賠錢,但是卻會被通貨膨脹率影響而使自已的錢越變越薄。 投資理財說穿了,是「買低賣高」四個字,兩個關鍵是「買什麼?」
Thumbnail
就是辦公室裡給大家隨手拿來看的讀物,也算輕鬆好讀,很快就看完,可以增加一點理財常識。 自從去年開始聽股癌之後,對理財總算是開始有一點常識,知道有哪些理財工具,以及為了不讓自己賺的錢因為實質購買力下降而被通膨蠶食鯨吞,慢慢不只是存點優存。 過去真的沒認真研究過的股市、基金、債券、ETF、投資型保單、黃
Thumbnail
葉子觀察是很好的速寫起手式素材 ☝自學素材: ①老師自拍示範影片 ②實物投影機現場示範 😉暖機題: 教室內先觀察第一格的葉子圖片, 試畫第二格,修改調整再畫第三格。
Thumbnail
速寫初體驗! ☝自學素材: ①國際城市速寫者網站( Urban Sketchers) 作品圖像瀏覽 ②實物投影機下老師的簡單示範 ✌思考:如何在不可用鉛筆和橡皮擦之下,用心觀察小物,直接用0.8代針筆和一支螢光筆速寫?
Thumbnail
用自己的話,說明「速寫是什麼?」 國中藝術課本,終於有一個完整的速寫單元了🎉🎉 由於課本寫得相當簡明,我放心給一個超開放的題目之後, 就讓孩子瀏覽課本,自己寫答案。
談到股債配置,在投資學中是個老生常談的話題;但檢視許多朋友實際的手中持股,有按此原則執行的實在少之又少,大多是大象腿般的偏重某種類股,或是某種產業,原因之一不外乎是投資該類股/產業有獲利經驗,因此特別有信心,所以並沒有注意到,在沒有股債配置的狀況下,萬一股災發生,將難逃全部套牢的命運。 其實,想投資
在上一篇«投資前注意三件事,保你一路順風»中,有幾位讀者反應,台灣沒有幾個台積電能如此優異,更沒有幾個投資人能從頭抱到尾,更多的是,例如股價曾上千元俱樂部後又一路滑落到百元以內的宏X電這樣的地雷型股票。 而之所以借用台積電作為例子,說明投資它歷時23年的報酬率是89.6倍,並非要突顯個股名牌,想表達
如果透過前一篇投資肌耐力的文章,你已經明白只做定存有多可惜,而對投資心動,也打算行動了,那趁進場之前,先來建立正確的投資認知,希望好觀念能保你在投資路上一路順風。 先來說一下什麼是投資。 一般公司上市公開發行股票,而你投資這家公司,就是這家公司的股東,擁有部份股權。 假如一家上市公司,去年賺了10
你是用六位數提款密碼,保護四位數存款的小資族嗎? 台灣長期處於低薪環境已是不爭的事實,但台灣人的退休理財方式,更是跌破專家眼鏡。某壽險公司24日公布與跨校團隊合作理財調查,有高達59.6%的民眾用定存來規劃退休理財,中央大學管學院教授楊曉文說:「民眾理財保守程度遠高於我們想像」。 低薪環境也許不能操