久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL中case when怎么用

149次閱讀
沒有評論

共計 1492 個字符,預計需要花費 4 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 SQL 中 case when 怎么用,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

SQL 中 case when 的用法

Case 具有兩種格式:簡單 Case 函數(shù)和 Case 搜索函數(shù)。

簡單 Case 函數(shù):

CASE sex
WHEN ‘1’ THEN ‘男’WHEN ‘0’ THEN ‘女’ELSE ‘其他’ END

Case 搜索函數(shù):

CASE WHEN sex = ‘1’ THEN ‘男’WHEN sex = ‘0’ THEN ‘女’ELSE ‘其他’ END

顯然,簡單 Case 函數(shù)勝在簡潔,但是它只適用于這種單字段的單值比較,而 Case 搜索函數(shù)的優(yōu)點在于適用于所有比較的情況。

還有一個需要注意的問題,Case 函數(shù)在滿足了某個符合條件后,剩下的條件將會被自動忽略,因此,即使?jié)M足多個條件,執(zhí)行過程中也只認第一個條件。

在使用 CASE WHEN 時,可以把它當作一個邏輯上的匿名字段,字段值根據(jù)條件確認,在需要使用字段名時可以是用 as 來定義別名。這么說還很抽象,看看下面 CASE WHEN 的使用案例就清楚了。

使用場景

1、可以將已知數(shù)據(jù)按照某種方式進行分組,分析。

SQL 中 case when 怎么用

根據(jù)這個國家人口數(shù)據(jù),統(tǒng)計亞洲和北美洲的人口數(shù)量。使用如下 SQL:

SELECT CASE country
WHEN  中國  THEN  亞洲 
WHEN  印度  THEN  亞洲 
WHEN  日本  THEN  亞洲 
WHEN  美國  THEN  北美洲 
WHEN  加拿大  THEN  北美洲 
WHEN  墨西哥  THEN  北美洲 
ELSE  其他  END as  洲  , SUM(population) as  人口 
FROM test
GROUP BY CASE country
WHEN  中國  THEN  亞洲 
WHEN  印度  THEN  亞洲 
WHEN  日本  THEN  亞洲 
WHEN  美國  THEN  北美洲 
WHEN  加拿大  THEN  北美洲 
WHEN  墨西哥  THEN  北美洲 
ELSE  其他  END;

SQL 中 case when 怎么用

這里的兩個 CASE WHEN 都相當于一個字段,不過值得一提的是,第二個 CASE WHEN 的 THEN 值并不用寫明是什么洲,它只是用于將記錄進行分組,所以 THEN 后面的值只有能區(qū)分這三種記錄就行,GROUP BY 也可以寫成:

GROUP BY CASE country
WHEN  中國  THEN 0
WHEN  印度  THEN 0
WHEN  日本  THEN 0
WHEN  美國  THEN 1
WHEN  加拿大  THEN 1
WHEN  墨西哥  THEN 1
ELSE 2 END;

2、用一個 SQL 語句完成不同條件的分組。

有如下數(shù)據(jù):

SQL 中 case when 怎么用

用 Case 函數(shù)來完成按照國家和性別進行分組。使用如下 SQL:

SELECT country,
SUM( CASE WHEN sex =  1  THEN population ELSE 0 END ), -- 男性人口
SUM( CASE WHEN sex =  2  THEN population ELSE 0 END ) -- 女性人口
FROM Table_A
GROUP BY country;

得到如下結果:

SQL 中 case when 怎么用

就第一個 CASE WHEN 講解:

CASE WHEN sex =  1  THEN
population ELSE 0 END

當記錄的 sex 為 1 時,這個字段的值為記錄的 population 值,否則為 0,因此能計算出一個國家的男性人口。

關于“SQL 中 case when 怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向 AI 問一下細節(jié)

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-12-16發(fā)表,共計1492字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 临夏市| 重庆市| 读书| 宿迁市| 东至县| 含山县| 库尔勒市| 河西区| 灵川县| 阿鲁科尔沁旗| 金平| 文山县| 西乌珠穆沁旗| 凉山| 龙山县| 东丽区| 德州市| 礼泉县| 景德镇市| 邹城市| 阿图什市| 丰顺县| 铜川市| 海伦市| 锦州市| 迁安市| 东光县| 闻喜县| 斗六市| 合肥市| 南和县| 明星| 洛南县| 桑植县| 县级市| 黎城县| 普安县| 连江县| 哈巴河县| 进贤县| 阜城县|