成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

case函數(shù)語法與使用-創(chuàng)新互聯(lián)

case 函數(shù)是聚合函數(shù)的一種,為統(tǒng)計函數(shù)。

創(chuàng)新互聯(lián)建站專注于丁青網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供丁青營銷型網(wǎng)站建設(shè),丁青網(wǎng)站制作、丁青網(wǎng)頁設(shè)計、丁青網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造丁青網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供丁青網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

case表達式:

CASE  selector   
   WHEN value1 THEN action1;    
   WHEN value2 THEN action2;    
   WHEN value3 THEN action3

一、CASE WHEN 表達式有兩種形式

(1)簡單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

本篇文章未講解關(guān)于case 搜索函數(shù)用法。

二、CASE WHEN 應(yīng)用

學(xué)生性別統(tǒng)計student表:

case 函數(shù)語法與使用

------------查詢表中所有的性別

select  ID,   
     (case sex     
     when '1' then '男'    
     when '2' then '女'   
     ELSE 'null'    
     END) AS  '性別',    
     province as '省份'    
from `student`   ORDER BY `ID` ASC ;

查詢結(jié)果如下:

case 函數(shù)語法與使用

-------------查詢江蘇省與浙江省男生與女生個數(shù)分別是多少。

case 函數(shù)語法與使用

第一種計算方法:以省份區(qū)分

select province AS '江蘇省',   
        COUNT(case sex when '男' THEN  '男'              
        ELSE  null END ) AS  '男生',    
        COUNT(case sex                   
              when '女' THEN '女' 
              ELSE  null END ) AS  '女生'    
from student where `province` ='江蘇'
UNION
select province AS '江蘇省',   
        COUNT(case sex  when '男' THEN  '男'                   
        ELSE  null END ) AS  '男生',    
        COUNT(case sex                   
        when '女' THEN  '女'                   
        ELSE  null END ) AS  '女生'    
from `student`  where `province` ='浙江'

查詢結(jié)果如下:

case 函數(shù)語法與使用

第二種計算:以性別區(qū)分

select sex,           
        COUNT(case province                  
        when '江蘇' THEN  '江蘇'                   
        ELSE  null END ) AS  '江蘇省',
    COUNT(case province                  
    when '浙江' THEN  '浙江'                   
    ELSE  null END ) AS  '浙江省'    
from  `student` group by  `sex` ;

查詢結(jié)果如下:

case 函數(shù)語法與使用

注意:

COUNT(case province   
   when '江蘇' THEN  '江蘇'     
   ELSE  null END ) AS  '江蘇省',

 

可以簡寫成:

COUNT( case province when '江蘇' THEN  '江蘇' END ) AS '江蘇省'

----------查詢各省份的男女數(shù)量

select province ,   
    sex,    
    COUNT(*) AS  '總數(shù)'    
from  student  GROUP BY province ,sex;

查詢結(jié)果如下:

case 函數(shù)語法與使用   

----------只統(tǒng)計了浙江省的男女數(shù)目    

select  
     sex ,    
     province,     
     count(case province when '江蘇' then '江蘇' end )as '數(shù)量'     
from student group by province, sex;

查詢結(jié)果如下:

case 函數(shù)語法與使用   

當數(shù)據(jù)較多時,使用以上數(shù)據(jù)查詢占用大量的資源,因此可以簡單寫成以下形式:

select  sex as '性別' ,   
         count(case province when '江蘇' then '江蘇' end )as '浙江省'     
from student group by sex;

查詢結(jié)果如下:

case 函數(shù)語法與使用

補充:

(1)select (case province
             when '浙江' then '浙江'
             when '江蘇' then '江蘇'
             else province end  ) as 省份 from student;

else province 默認為除浙江、江蘇 外顯示其他城市

case 函數(shù)語法與使用

(2) case when  可以跟不相等的判斷。

  可用于=,>=,<,<=,<>,is null,is not null 等的判斷。

如:

case 函數(shù)語法與使用

三、CASE WHEN 與 DECODE 比較

1,DECODE  Oracle 特有;
2,CASE WHEN  Oracle ,  SQL Server,  MySQL 都可用;
3,DECODE 只能用做相等判斷,但是可以配合sign函數(shù)進行大于,小于,等于的判斷,

CASE 可用于=,>=,<,<=,<>,is null,is not null 等的判斷;

4,DECODE 使用其來比較簡潔,CASE 雖然復(fù)雜但更為靈活;

分享標題:case函數(shù)語法與使用-創(chuàng)新互聯(lián)
新聞來源:http://jinyejixie.com/article14/dchsge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版企業(yè)網(wǎng)站制作、定制網(wǎng)站、網(wǎng)站排名、品牌網(wǎng)站設(shè)計、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
岚皋县| 如皋市| 乌拉特前旗| 泰和县| 安徽省| 古丈县| 大姚县| 南宫市| 瑞昌市| 凌海市| 萝北县| 霍林郭勒市| 沅陵县| 安福县| 化德县| 邛崃市| 贵州省| 汤阴县| 奈曼旗| 昂仁县| 十堰市| 军事| 孝感市| 塔河县| 涞源县| 大方县| 丰镇市| 黑水县| 九龙城区| 双流县| 博湖县| 霍林郭勒市| 炉霍县| 乃东县| 阿拉尔市| 罗山县| 井冈山市| 延川县| 荣昌县| 西平县| 平顶山市|