case when語法:
case
whenthen
whenthen
else
endcase when else語法要點說明如下:
1、以case開頭,以end結尾
2、分支中when 後跟條件,then為顯示結果
3、else 為除此之外的預設情況,類似於高階語言程式中switch case的default,可以不加
4、end 後跟別名
例1:
select u.user_code, u.***,
( case u.***
when 0 then '男'
when 1 then '女'
else '未知'
end)性別
from tb_secure_user u
例2:將sum與case結合使用,可以實現分段統計,如將表中各種性別的人數進行統計:
select
sum( case u.*** when 0 then 1 else 0 end) 男性,
sum( case u.*** when 1 then 1 else 0 end ) 女性,
sum( case when u.***<>0 and u.***<>1 then 1 else 0 end ) 性別未知
from tb_secure_user u
查詢結果:
男性 女性 性別未知
20 17 0
例3:sum、case when結合group by使用,可以進行分組分段統計。
如統計users表中每個建立者建立的男性、女性的使用者總數
select u.create_user_id 建立者id,
sum( case u.*** when 0 then 1 else 0 end) 男性,
sum( case u.*** when 1 then 1 else 0 end ) 女性,
sum( case when u.***<>0 and u.***<>1 then 1 else 0 end ) 性別未知
from tb_secure_user u
group by u.create_user_id
查詢結果:
建立者id 男性 女性 性別未知
10000000 14 8 0
00000405 4 8 0
20000000 1 0 0
00000445 1 1 0
Oracle中case when的用法
最早接觸case when是在行列轉的時候,資料庫中最難的就是各種的查詢,此次的業務需要匯出excel,匯出的內容包含了很多的字段,各種聯合查詢,還有需要計算 分組聯合等。歷經整整一下午終於以近兩百行結束了這個業務。特記錄對於case when的用法,歡迎各位朋友指正,不喜勿噴。首先case whe...
Oracle中CASE WHEN的用法例項
例項演示 1 查詢表users中的資料。select u.id,u.realname,u.from users u 查詢結果如下 id realname 1 10082 松xx 2 10084 林xx 1 3 10087 西xx 4 10100 胡xx 5 10102 龍xx 1 2 上表結果中的 ...
Oracle中的case when的使用
今天要用sql實現乙個小小的邏輯,總之呢,需要用到一些判斷條件,所以準備使用一下 case when的用法,但是由於之前只寫過case when else end單條語句,沒有寫過巢狀,而且 感覺sql寫起來也不好除錯,所以在網上找了下資料。第一步,先寫乙個簡單的巢狀測試一下 select case...