<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
case when then else end 可以理解為java的if-else if -else。可以理解為流程控制語句或條件控制語句。可以實現資料獲取的時候,可以更多的條件和自定義邏輯。
適用情景
有如下資料:(為了看得更清楚,我並沒有使用國家程式碼,而是直接用國家名作為primary key)
國家(country) | 人口(population) |
中國 | 600 |
美國 | 100 |
加拿大 | 100 |
英國 | 200 |
法國 | 300 |
日本 | 250 |
德國 | 200 |
墨西哥 | 50 |
印度 | 250 |
根據這個國家人口資料,統計亞洲和北美洲的人口數量。應該得到下面這個結果。
洲 | 人口 |
亞洲 | 1100 |
北美洲 | 250 |
其他 | 700 |
想要解決這個問題,假如使用case函數,sql程式碼如下:
select sum(population), case country when '中國' then'亞洲' when '印度' then'亞洲' when '日本' then'亞洲' when '美國' then'北美洲' when '加拿大' then'北美洲' when '墨西哥' then'北美洲' else '其他' end from table_a group by case country when '中國' then'亞洲' when '印度' then'亞洲' when '日本' then'亞洲' when '美國' then'北美洲' when '加拿大' then'北美洲' when '墨西哥' then'北美洲' else '其他' end;
有如下資料
國家(country) | 性別(sex) | 人口(population) |
中國 | 1 | 340 |
中國 | 2 | 260 |
美國 | 1 | 45 |
美國 | 2 | 55 |
加拿大 | 1 | 51 |
加拿大 | 2 | 49 |
英國 | 1 | 40 |
英國 | 2 | 60 |
按照國家和性別進行分組,得出結果如下
國家 | 男 | 女 |
中國 | 340 | 260 |
美國 | 45 | 55 |
加拿大 | 51 | 49 |
英國 | 40 | 60 |
普通情況下,用union也可以實現用一條語句進行查詢。但是那樣增加消耗(兩個select部分),而且sql語句會比較長。
下面是一個是用case函數來完成這個功能的例子
select country, sum( case when sex = '1' then population else 0 end), --男性人口 sum( case when sex = '2' then population else 0 end) --女性人口 from table_a group by country;
這樣我們使用select,完成對二維表的輸出形式,充分顯示了case函數的強大。
1、then和else後,只能寫一條輸出語句且輸出結果就是新生成列的值;when 後的條件判斷可以有多條,且可以多個欄位聯合判斷;end 後的輸出也可以有多條,但必須有一個是新生成列的欄位名; [常規用法:select 後到from前,直接使用case when] (例1)
2、when 後多條件判斷用and連線(例3)
3、case when 巧妙用法 [order by 後用case when] [count()中用case when] (例2)
4、group by 後用case when (在參考裡)
5、case when,如果有多個,如果一條記錄滿足第一個case when就不會再去執行後面的case when,所以要想保證某個case when一定執行,就把她寫在最前面。
到此這篇關於SQL中case when then else end用法的文章就介紹到這了,更多相關SQL case when then else end用法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45