例如 (case sex when 0 then 男 else 女 end) AS sex from studentInfo
那麼在结合涵数中它有哪些用呢 ?
假定数据信息库有一张表名叫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
(责任编辑:admin) |