原表是个员工档案,共583人,但case when结合group by用时,写法不同,其出来的结果也不同

例1:

select distinct a.Branch,
case when kultur = '硕士' then sum(num) else '0' end as 研究生学历,
case when kultur = '本科' then sum(num) else '0' end as 大本学历,
case when kultur = '大专' then sum(num) else '0' end as 大专学历,
case when kultur = '中专' then sum(num) else '0' end as 中专学历,
case when kultur = '高中' or kultur ='职高' or kultur ='中职'  then sum(num) else '0' end as 高中学历,
case when kultur = '初中' then sum(num) else '0' end as 初中学历,
case when kultur = '小学' then sum(num) else '0' end as 小学学历,
case when kultur = '' or kultur is null  then sum(num) else '0' end as 未填写学历
from( select Branch,kultur,count(*) as num 
        from tb_Stuffbusic 
     group by branch,kultur) a
Group by a.Branch,a.kultur

结果如下图:

例2:

select Branch as 部门名称,count(branch) as 总人数,
sum(case when kultur = '硕士' then 1 else '0' end) as 研究生学历,
sum(case when kultur = '本科' then 1 else '0' end) as 大本学历,
sum(case when kultur = '大专' then 1 else '0' end) as 大专学历,
sum(case when kultur = '中专' then 1 else '0' end) as 中专学历,
sum(case when kultur = '高中' or kultur ='职高' or kultur ='中职'  then 1 else '0' end) as 高中学历,
sum(case when kultur = '初中' then 1 else '0' end) as 初中学历,
sum(case when kultur = '小学' then 1 else '0' end) as 小学学历,
sum(case when kultur = '' or kultur is null  then 1 else '0' end) as 未填写学历
from tb_Stuffbusic         
group by branch

结果如下图:

例3:表中ID字段有时字段值长不够4位,但不能超过4位,故通过下面语句一次性加上。
UPDATE tb_Stuffbusic
SET ID = CASE WHEN LEN(ID) = 1 THEN '000'+ID
              WHEN LEN(ID) = 2 THEN '00'+ID
              WHEN LEN(ID) = 3 THEN '0'+ID
              ELSE ID
              END

MySQL 关于case when结合group by用时的写法举例的更多相关文章

  1. MySQL中CASE的使用

    语法说明: 方式一: CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE ...

  2. mysql 中order by 与group by的顺序

    mysql 中order by 与group by的顺序 是: select from where group by order by 注意:group by 比order by先执行,order b ...

  3. MySQL存储过程 CASE语句

    MySQL存储过程  CASE语句 除了IF语句,MySQL提供了一个替代的条件语句CASE. MySQL CASE语句使代码更加可读和高效. CASE语句有两种形式:简单的搜索CASE语句. 简单C ...

  4. mysql 5.7.28 中GROUP BY报错问题 SELECT list is not in GROUP BY clause and contains no

    ----mysql 5.7.28 中GROUP BY报错问题 SELECT list is not in GROUP BY clause and contains no------ 解决方案: sel ...

  5. MySQL中case when的基本用法总结

    MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文 ...

  6. mysql必知必会——GROUP BY和HAVING

    mysql必知必会——GROUP BY和HAVING 创建表结构 create table `employ_info` ( `id` int(11) NOT NULL AUTO_INCREMENT, ...

  7. MySql实例关于ifnull,count,case when,group by(转力扣简单)

    给定表 customer ,里面保存了所有客户信息和他们的推荐人. id   | name | referee_id|+------+------+-----------+|    1 | Will ...

  8. mysql中 case when的使用

    SELECT a.hsid, a.house_code, a.sale_date, a.pjid, COUNT( sdid ) AS num, b.hsid, b.pscid, b.hscode, b ...

  9. MySQL学习笔记:一道group by+group_concat解决的小问题

    闲来无事,逛逛V2EX发现一道MySQL数据库题目,原题如下: 遂打开很长一段时间都没用过SQLyog,噗呲噗呲的干起活来…… 建测试表: CREATE TABLE test_001 ( id INT ...

随机推荐

  1. EditText设置/隐藏光标位置、选中文本和获取/清除焦点(转)

    转:http://blog.csdn.net/dajian790626/article/details/8464722 有时候需要让光标显示在EditText的指定位置或者选中某些文本.同样,为了方便 ...

  2. How to show out three rows from the same databand On A4?

    How to show out three rows from the same databand On A4? Quote Post by DoraHuang » Tue Mar 13, 2018 ...

  3. Selenium:多表单(frame/iframe)切换(Switch模块)

    frame标签有frameset.frame.iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe需要切换进去才能定位到其中的元素 比如下面这个网 ...

  4. 比较CGI,FastCGI,PHP-CGI与PHP-FPM的区别

    最早的Web服务器,可以简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html. 随着时间的变化,网站也越来越复杂,所以出现动态技术.但是服务器并不能直接 ...

  5. this.$router.push相关的vue-router的导航方法

    this.$router.push相关的vue-router的导航方法:https://blog.csdn.net/zeroyulong/article/details/80312750

  6. 45-python基础-python3-字符串-常用字符串方法(三)-startswith()-endswith()

    4-字符串方法 startswith()和 endswith() startswith()和 endswith()判断字符串是否以某个字符串开始或结尾,存在返回 True,否则,方法返回 False. ...

  7. c# 遍历 Mysql 所有表所有列,查找目标数据

    在 Mysql 的 information_schema 库中 COLUMNS 表中存放了所有表的所有列. using MySql.Data.MySqlClient; using System; us ...

  8. Vue-Cli3环境安装

    一,安装node环境 尽量使用高版本的node环境,低版本的node环境会出现各种安装问题 下载地址: http://nodejs.cn/download/ 打开cmd node -v :查看node ...

  9. mongodb C#连接报错 Invalid credentials for database 'admin'

    这2天学习mongodb3.2.9,用户设置好了,结果用C#查询的时候报错了,看字面意思是用户验证没通过,但是我用shell是完全没有问题的,后来网上搜了下,发现原来是我用的是旧驱动,旧驱动用的是旧的 ...

  10. 77th ploty 制图神器

    https://blog.csdn.net/u012897374/article/details/77857980