sql中case的用法

2021-08-31 05:47:05 字數 747 閱讀 7114

由於之前沒有用到case,乙個簡單的分類統計問題竟被我group by 又union的整得很麻煩,原來case是可以應用得很靈活的。

乙個應用場景如下:乙個表中儲存了使用者(姓名,年齡,性別),要求統計》35歲和<35歲的女使用者和南使用者分別是多少(一共四類)

開始我是想著先把》35歲的按性別group by 統計一次,<35的統計一次,再union,而事實證明,這個做法很猥瑣。

然後發現了case,它的用法如下:

select count(case

when u.user_*** = '1' and u.user_age < 35 then

u.user_age

end) as 小於35歲女,

count(case

when u.user_*** = '1' and u.user_age >= 35 then

u.user_age

end) as 大於等於35歲女,

count(case

when u.user_*** = '0' and u.user_age < 35 then

u.user_age

end) as 小於35歲男,

count(case

when u.user_*** = '0' and u.user_age >= 35 then

u.user_age

end) as 大於等於35歲男

from test_user u

這樣的話,用4個case就行了。

SQL中Case語句用法

sql中,case具有兩種格式。即簡單case函式和case搜尋函式。下文中筆者與大家一起討論sql中case語句用法。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 t...

SQL中Case語句用法討論

關鍵字 case case具有兩種格式。簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 這兩種方...

SQL中Case語句用法討論

關鍵字 case case具有兩種格式。簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 這兩種方...