程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQL聚集函數中case when then 應用技能

SQL聚集函數中case when then 應用技能

編輯:MSSQL

SQL聚集函數中case when then 應用技能。本站提示廣大學習愛好者:(SQL聚集函數中case when then 應用技能)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL聚集函數中case when then 應用技能正文


那末在聚集函數中它有甚麼用呢 ?

假定數據庫有一張表名為student的表。

假如如今要你依據這張表,查出江西省男女個數,廣東省男生個數,浙江省男女個數 怎樣寫SQL語句?即要生成下成果表

謎底是:select sex ,count ( case province when '廣東省' then '廣東省' end )as 廣東省 ,count ( case province when '江西省' then '江西省' end )as 江西省 ,count ( case province when '浙江省' then '浙江省' end )as 浙江省 from student group by sex

count()函數即依據給定的規模和group by(統計方法) 而統計行數據的條數

我們一步步來懂得下面語句

1.  select sex from student (查詢數據表中的存在的男女條數)

2.select sex, count (*) as num from student group by sex  (查詢表中男女數目)

3.select sex ,province, count (*)as num from student group by sex,province (查詢各省男女數目)

重點來了,假如我把count(*) 中的 *號換成任一列名呢? 如count(province) 會如何?

4.select sex ,province, count (province)as num from student group by sex,province (查詢各省男女數目)

成果跟上圖一樣:這解釋換不換都一樣。又有count (province)等價於 count(case province when '浙江省' then '浙江省' else province end )

然則假如我們減少規模呢即count(case province when '浙江省' then '浙江省' end ) 那末請看上面

5.select sex ,province, count ( case province when '浙江省' then '浙江省' end )as num from student group by sex,province

即統計男女數目規模限制在浙江省 再精簡一下即上面

6.select sex, count ( case province when '浙江省' then '浙江省' end ) as 浙江省 from student group by sex

曾經接近我們的請求了,如今只需加上另幾個字段就是了

7.select sex ,count ( case province when '廣東省' then '廣東省' end )as 廣東省 ,count ( case province when '江西省' then '江西省' end )as 江西省 ,count ( case province when '浙江省' then '浙江省' end )as 浙江省 from student group by sex

小結:固然完成有許多種辦法 可以多個子查詢拼接起來也不無可厚非。我這只是一種思緒

彌補:case when then 常識點

(1) select (case province when '浙江省' then '浙江' when '江西省' then '江西' end  ) as 省分 from student

假如默許規模假如沒全包括則為空 像上圖的廣東省為空

(2)select (case province when '浙江省' then '浙江' when '江西省' then '江西' else province end  ) as 省分 from student

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved