由於之前沒有用到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 這兩種方...