SQL - MIN() 和 MAX() 函数:發揮極端的威力
你好,有志於學習 SQL 的同好們!今天,我們將深入探討 SQL 中兩個非常有用的函數:MIN() 和 MAX()。這些函數就像是數據分析的超級英雄,飛撲過去找到你的數據集中的最小值和最大值。所以,請繫好安全帶,讓我們一起踏上這個令人興奮的旅程!
了解基礎知識
在我們深入細節之前,讓我們花一會兒時間了解這些函數到底是如何工作的。想像你是一名老師(就像我一樣!)手中有一本滿滿的成績簿。如果你想要快速找到最高和最低的分數,你會使用 MIN() 和 MAX()。這就是這些函數在 SQL 中的基本作用,但它們可以對任何類型的數據進行操作。
SQL MAX() 函數: Reach for the Stars
MAX() 是什麼?
MAX() 函數如其名所示——它從一組值中返回最大值。這就像有一個非常高效的助手,能夠立刻在一長串數字中找到最高的數字。
基本語法
以下是使用 MAX() 函數的方法:
SELECT MAX(column_name) FROM table_name;
實際範例
假設我們有一個名為 students
的表,其中有一個名為 test_score
的列。要找到最高的測試分數,我們會寫:
SELECT MAX(test_score) FROM students;
這個查詢將返回一個單一值——整個表中最高的測試分數。
但是,如果我們想知道更多呢?讓我們來點花巧的:
SELECT student_name, test_score
FROM students
WHERE test_score = (SELECT MAX(test_score) FROM students);
這個查詢會告訴我們獲得最高分的學生姓名和他們的分數。這就像宣布畢業生致辭者!
MAX() 與 GROUP BY
現在,假設我們想要找到每個科目中最高的分數。我們可以使用 MAX() 與 GROUP BY:
SELECT subject, MAX(test_score) AS highest_score
FROM students
GROUP BY subject;
這個查詢會向我們顯示每個科目中最高的分數。這就像為每個類別設立一個名人堂!
SQL MIN() 函數:在粗糙中尋找鑽石
MIN() 是什麼?
正如 MAX() 找到最高值一樣,MIN() 尋找最低值。它同樣強大,但方向相反。
基本語法
MIN() 的語法與 MAX() 非常相似:
SELECT MIN(column_name) FROM table_name;
實際範例
再次使用我們的 students
表,讓我們找到最低的測試分數:
SELECT MIN(test_score) FROM students;
這將返回表中的最低分數。但記住,每個分數都代表了學生的努力,所以讓我們找出誰可能需要一些額外的幫助:
SELECT student_name, test_score
FROM students
WHERE test_score = (SELECT MIN(test_score) FROM students);
這個查詢會顯示得分最低的學生的姓名,給我們提供提供額外支持的机会。
MIN() 與 GROUP BY
與我們的 MAX() 範例一樣,我們可以使用 MIN() 與 GROUP BY 來找到每個科目中的最低分數:
SELECT subject, MIN(test_score) AS lowest_score
FROM students
GROUP BY subject;
這可以幫助我們識別我們課程中哪些科目可能需要更多的關注。
結合 MIN() 和 MAX():動態二人組
現在,讓我們看看這些函數一起工作!我們可以在單一查詢中使用 MIN() 和 MAX() 來獲取範圍內的值:
SELECT
subject,
MIN(test_score) AS lowest_score,
MAX(test_score) AS highest_score,
MAX(test_score) - MIN(test_score) AS score_range
FROM students
GROUP BY subject;
這個查詢為我們提供了每個科目的一個綜合視圖,顯示最低分數、最高分數以及它們之間的範圍。這就像從鳥瞰的角度來看待我們學生的表現!
關於 NULL 值的說明
一件重要的事情要記住:MIN() 和 MAX() 會忽略 NULL 值。如果列中包含 NULL 值,這些函數將返回非 NULL 值的最小值或最大值。這就像它們有一個特別的 NULL-探测器,讓它們只關注實際數據。
結論:精通極端值
好了,各位!我們已經探討了 SQL 中的 MIN() 和 MAX() 函數。這些強大的工具讓我們能夠快速找到數據中的極端值,無論我們是在尋找頂尖表現者、需要改進的領域,還是只是嘗試了解我們數據的範圍。
記住,在數據的世界裡,每個值都講述著一個故事。MIN() 和 MAX() 帮助我們找到這些故事的開始和結尾,給我們提供可以驅動決策和改進的見解。
在你繼續你的 SQL 旅程時,請將這些函數放在你的工具箱中。它們簡單但強大,你會發現自己不斷地使用它們。快樂查詢,願你的數據總是告訴你有趣的故亊!
函數 | 描述 | 範例 |
---|---|---|
MAX() | 從一組值中返回最大值 | SELECT MAX(column_name) FROM table_name; |
MIN() | 從一組值中返回最小值 | SELECT MIN(column_name) FROM table_name; |
Credits: Image by storyset