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

sql中如何使用case when

共計(jì) 1876 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

自動(dòng)寫代碼機(jī)器人,免費(fèi)開通

這篇文章主要介紹了 sql 中如何使用 case when,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

sql 中 case when 的用法

case 具有兩種格式。簡(jiǎn)單 case 函數(shù)和 case 搜索函數(shù)。

1、簡(jiǎn)單 case 函數(shù)

case sex
 when  1  then  男 
 when  2  then  女’ else  其他  end

2、case 搜索函數(shù)

case when sex =  1  then  男 
 when sex =  2  then  女 
 else  其他  end /span

這兩種方式,可以實(shí)現(xiàn)相同的功能。簡(jiǎn)單 case 函數(shù)的寫法相對(duì)比較簡(jiǎn)潔,但是和 case 搜索函數(shù)相比,功能方面會(huì)有些限制,比如寫判定式。(免費(fèi)學(xué)習(xí)視頻教程推薦:mysql 視頻教程)

還有一個(gè)需要注重的問(wèn)題,case 函數(shù)只返回第一個(gè)符合條件的值,剩下的 case 部分將會(huì)被自動(dòng)忽略。

比如說(shuō),下面這段 sql,你永遠(yuǎn)無(wú)法得到“第二類”這個(gè)結(jié)果

case when col_1 in (a , b) then  第一類 
 when col_1 in (a) then  第二類 
 else  其他  end

實(shí)例演示:

首先創(chuàng)建一張 users 表,其中包含 id,name,sex 三個(gè)字段,表內(nèi)容如下:

select * from users
 
 ID NAME SEX
---------- -------------------- ----------
1  張一  
2  張二  1
3  張三  
4  張四  
5  張五  2
6  張六  1
7  張七  2
8  張八  1

1、上表結(jié)果中的 sex 是用代碼表示的,希望將代碼用中文表示。可在語(yǔ)句中使用 case 語(yǔ)句:

select u.id,u.name,u.sex,
 (case u.sex
 when 1 then  男 
 when 2 then  女 
 else  空的 
 end
 ) 性別
 from users u;
 ID NAME SEX  性別
--------------------------------------- -------------------- ---------- ------
 1  張一   空的
 2  張二  1  男
 3  張三   空的
 4  張四   空的
 5  張五  2  女
 6  張六  1  男
 7  張七  2  女
 8  張八  1  男 

2、如果不希望列表中出現(xiàn) sex 列,語(yǔ)句如下:

select u.id,u.name,
 (case u.sex
 when 1 then  男 
 when 2 then  女 
 else  空的 
 end
 ) 性別
 from users u;
 
 ID NAME  性別
--------------------------------------- -------------------- ------
 1  張一   空的
 2  張二   男
 3  張三   空的
 4  張四   空的
 5  張五   女
 6  張六   男
 7  張七   女
 8  張八   男 

3、將 sum 與 case 結(jié)合使用,可以實(shí)現(xiàn)分段統(tǒng)計(jì)。

如果現(xiàn)在希望將上表中各種性別的人數(shù)進(jìn)行統(tǒng)計(jì),sql 語(yǔ)句如下:

select
 sum(case u.sex when 1 then 1 else 0 end) 男性,
 sum(case u.sex when 2 then 1 else 0 end) 女性,
 sum(case when u.sex  1 and u.sex 2 then 1 else 0 end) 性別為空
 from users u;
 
  男性   女性   性別為空
---------- ---------- ----------
 3 2 0
 
--------------------------------------------------------------------------------
SQL  select
 count(case when u.sex=1 then 1 end) 男性,
 count(case when u.sex=2 then 1 end) 女,
 count(case when u.sex  1 and u.sex 2 then 1 end) 性別為空
 from users u;
 
  男性   女   性別為空
---------- ---------- ----------
 3 2 0

感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“sql 中如何使用 case when”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向 AI 問(wèn)一下細(xì)節(jié)

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-16發(fā)表,共計(jì)1876字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 峡江县| 道真| 赤城县| 邯郸县| 霍山县| 淮北市| 南雄市| 五河县| 延边| 延安市| 永仁县| 福安市| 阿拉善左旗| 洛阳市| 朝阳县| 华容县| 中西区| 诏安县| 桑日县| 九台市| 卢湾区| 洪湖市| 广安市| 章丘市| 泰宁县| 临澧县| 武陟县| 炉霍县| 宝鸡市| 斗六市| 新余市| 肇源县| 江阴市| 潞城市| 阜新| 宜州市| 聊城市| 漠河县| 繁峙县| 洛南县| 进贤县|