[轉帖]SQL中Case When的用法
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
:SQL中Case When的用法 SQL中Case When的用法
本教程操作環境:windows7系統、Microsoft SQL Server 2016版、Dell G3電腦。 SQL中case when的用法 case when類似于編程語言中的if else判斷、switch case語句。該語句執行時先對條件進行判斷,然后根據判斷結果做出相應的操作。 Case具有兩種格式:簡單Case函數和Case搜索函數。 簡單Case函數:
Case搜索函數:
顯然,簡單Case函數勝在簡潔,但是它只適用于這種單字段的單值比較,而Case搜索函數的優點在于適用于所有比較的情況。 還有一個需要注意的問題,Case函數在滿足了某個符合條件后,剩下的條件將會被自動忽略,因此,即使滿足多個條件,執行過程中也只認第一個條件。 (PHP中文網,有大量免費的SQL教程,歡迎大家學習!) 在使用 CASE WHEN時,可以把它當作一個邏輯上的匿名字段,字段值根據條件確認,在需要使用字段名時可以是用 as來定義別名。這么說還很抽象,看看下面 CASE WHEN的使用案例就清楚了。 使用場景 1、可以將已知數據按照某種方式進行分組,分析。 根據這個國家人口數據,統計亞洲和北美洲的人口數量。使用如下 SQL:
這里的兩個CASE WHEN都相當于一個字段,不過值得一提的是,第二個CASE WHEN 的THEN值并不用寫明是什么洲,它只是用于將記錄進行分組,所以THEN后面的值只有能區分這三種記錄就行,GROUP BY也可以寫成:
2、用一個SQL語句完成不同條件的分組。 有如下數據: 用Case函數來完成按照國家和性別進行分組。使用如下SQL:
得到如下結果: 就第一個CASE WHEN講解:
當記錄的sex為1時,這個字段的值為記錄的population值,否則為0,因此能計算出一個國家的男性人口。 該文章在 2023/6/27 15:13:45 編輯過 |
關鍵字查詢
相關文章
正在查詢... |