欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql 中的case-when詳解

 更新時間:2024年06月09日 11:35:27   作者:cssl-虞老師  
case-when? 是一種 sql 語句中的語法結(jié)構(gòu),主要用于數(shù)據(jù)的行列轉(zhuǎn)換,本文給大家介紹Mysql 中的case-when的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧

什么是 case-when      

case-when  是一種 sql 語句中的語法結(jié)構(gòu),結(jié)構(gòu)如下:

       case 字段名 

        when  值   then  字段名|值   

       ...

       else   字段名|值     end 

case when 主要用于數(shù)據(jù)的 行列轉(zhuǎn)換(把一列數(shù)據(jù)轉(zhuǎn)換為多列)

前置條件:

-- 表結(jié)構(gòu)如下:

create table demo2
(
  country varchar(20),-- 國家
  sex int,-- 性別,男=1,女=2
  pop int-- 人口數(shù)量
);

-- 表數(shù)據(jù)如下:

insert into demo2 values('中國',1,340);
insert into demo2 values('中國',2,240);
insert into demo2 values('美國',1,45);
insert into demo2 values('美國',2,55);
insert into demo2 values('加拿大',1,40);
insert into demo2 values('加拿大',2,65);
insert into demo2 values('英國',1,34);
insert into demo2 values('英國',2,60);
commit;

編寫查詢實現(xiàn)如下效果:  

效果1:

答案1:

SELECT
  d.country , 
  SUM(CASE d.sex 
  WHEN 1 THEN d.pop 
  ELSE 0 END)  AS man ,
  SUM(CASE d.sex 
  WHEN 2 THEN d.pop 
  ELSE 0 END)  AS woman
FROM demo2 d  GROUP BY d.country ;

效果2:

答案2:

SELECT 
CASE d.country 
WHEN '中國' THEN '亞洲'
WHEN '英國' THEN '歐洲'
ELSE '美洲' END  AS 洲  ,
SUM(d.pop)
FROM demo2 d 
GROUP BY (
   CASE d.country 
   WHEN '中國' THEN '亞洲'
   WHEN '英國' THEN '歐洲'
   ELSE '美洲' END 
) ;

到此這篇關(guān)于Mysql 中的case-when的文章就介紹到這了,更多相關(guān)Mysql case-when內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL學(xué)習筆記4:完整性約束限制字段

    MySQL學(xué)習筆記4:完整性約束限制字段

    完整性約束是對字段進行限制,從而符合該字段達到我們期望的效果比如字段含有默認值,不能是NULL等如果插入的數(shù)據(jù)不滿足限制要求,數(shù)據(jù)庫管理系統(tǒng)就拒絕執(zhí)行操作
    2013-01-01
  • 解決Mysql磁盤IO占用過高的問題

    解決Mysql磁盤IO占用過高的問題

    這篇文章主要介紹了解決Mysql磁盤IO占用過高的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 關(guān)于MYSQL 你需要知道的數(shù)據(jù)類型和操作數(shù)據(jù)表

    關(guān)于MYSQL 你需要知道的數(shù)據(jù)類型和操作數(shù)據(jù)表

    這篇文章主要介紹了關(guān)于MYSQL中數(shù)據(jù)類型的知識和操作數(shù)據(jù)表的方法,文中講解非常詳細供大家參考學(xué)習,感興趣的朋友可以了解下
    2020-06-06
  • 最新評論