SQL case when 語句學習

剛剛同時跑來問我一個sql語句頓時,一看我有點蒙,由於以前沒有用過,因此在這裏寫下學習筆記加深印象。
語法以下:
sql

CASE value WHEN [compare-value01] THEN result01 [WHEN [compare-value02] THEN result01 ...] [ELSE result] END

此sql語句我認爲有點像條件語句。
意思是:
    條件一,當字段value的值等於"compare-value"時,賦值爲result01;
    條件二,當字段value的值等於"compare-value"時,賦值爲result02;
    ...
    條件N,,賦值爲result02;
    結束學習

這麼說確定感受很抽象,上實例,一看就明白了。spa

usersa表及數據以下圖.net

樣例1查詢SQLcode

select *,
        (CASE username WHEN "李四" THEN "四"
                        WHEN "張三"  THEN "三"
                        ELSE 'more' END 
         )as "Column"
FROM usersa;

查詢結果圖htm

樣例2查詢SQL
io

select 
        sex,
        count(case username when "李四" then "李四" end) as "李四", 
        count(case username when "張三" then "張三" end) as "張三" 
from usersa 
group by sex;

查詢結果圖class

【參考資料】select

http://www.jb51.net/article/28222.htmsql語句

相關文章
相關標籤/搜索