自学SQL网 难题笔记
自学SQL网 难题笔记
自学SQL网 第十一课 Part2
【难题】按角色分组算出每个角色按有办公室和没办公室的统计人数(列出角色,数量,有无办公室,注意一个角色如果部分有办公室,部分没有需分开统计)
原始数据表
Role | Name | Building | Years_employed |
---|---|---|---|
Engineer | Becky A. | 1e | 4 |
Engineer | Dan B. | 1e | 2 |
Engineer | Sharon F. | 1e | 6 |
Engineer | Dan M. | 1e | 4 |
Engineer | Malcom S. | 1e | 1 |
Artist | Tylar S. | 2w | 2 |
Artist | Sherman D. | 2w | 8 |
Artist | Jakob J. | 2w | 6 |
Artist | Lillia A. | 2w | 7 |
Artist | Brandon J. | 2w | 7 |
Manager | Scott K. | 1e | 9 |
Manager | Shirlee M. | 1e | 3 |
Manager | Daria O. | 2w | 6 |
Engineer | Yancy I. | null | 0 |
Artist | Oliver P. | null | 0 |
希望输出结果:
count | Role | bn |
---|---|---|
1 | Artist | 0 |
5 | Artist | 1 |
1 | Engineer | 0 |
5 | Engineer | 1 |
3 | Manager | 1 |
题解:
需要子查询语句
先通过子查询语句获得如下表:
select Role,(case when Building is not null then 1 else 0 end) bn
from employees
Role | Bn |
---|---|
Engineer | 1 |
Engineer | 1 |
Engineer | 1 |
Engineer | 1 |
Engineer | 1 |
Artist | 1 |
Artist | 1 |
Artist | 1 |
Artist | 1 |
Artist | 1 |
Manager | 1 |
Manager | 1 |
Manager | 1 |
Engineer | 0 |
Artist | 0 |
紧接着再分组统计,即可得到预期结果
select role,count(*),bn
from
(select Role,(case when Building is not null then 1 else 0 end) bn
from employees)
where 1
group by role,bn
--------------------------------------分界线---------------------------------------------------
罪过罪过
想复杂了
直接这样更简洁
select role,count(*),(case when Building is not null then 1 else 0 end) bn
from
employees
where 1
group by role,bn
自学SQL网 难题笔记相关推荐
- 可能是史上最适合入门SQL语句的教程——自学SQL网学习笔记
自学SQL网Note 学习网址:http://xuesql.cn/ 表格.题目和知识点采集于自学SQL网,这个网站提供直接练习SQL的页面,免去了安装MySQL和导入表格的繁琐步骤,非常推荐初学者学习 ...
- 自学SQL网之学习笔记(题目+答案)
最近在重新学习数据库SQL,这里分享一下在使用<自学SQL网>上自学期间所涉及的练习题. 重要的事情要说三遍!仅供参考!仅供参考!仅供参考!!! 当然也悄悄种草一下这个网站练练手还是蛮不错 ...
- 自学SQL网习题答案
附学习网址:自学SQL网(教程 视频 练习全套) 第一节: 1[初体验]这是第一题,请你先将左侧的输入框里的内容清空,然后请输入下面的SQL,您将看到所有电影标题: 答案:SELECT * FRO ...
- 自学SQL网题库答案
###自学SQL网答案 leeson 1 [简单查询]找到所有电影的名称title SELECT title from movies [简单查询]找到所有电影的导演 select director f ...
- 自学SQL网习题题解:0-12(带内容解析!)
自学SQL网习题题解:0-12(带内容解析!) 原创:丶无殇 2022-07-17 这是一个自学SQL的中文网站,基础内容质量高,语言简洁明了,能够快速学习并提升技能. 网址:http://xues ...
- sql语言实践之自学SQL网(SQL Lesson12)
sql语言实践之自学SQL网(SQL Lesson12) 这是一个目录 sql语言实践之自学SQL网(SQL Lesson12) SQL Lesson 12: 查询执行顺序 练习 do it - 请完 ...
- sql语言实践之自学SQL网(SQL Lesson 0-7)
sql语言实践之自学SQL网(SQL Lesson 0-7) 这是一个目录 sql语言实践之自学SQL网(SQL Lesson 0-7) SQL Lesson 0: SQL Lesson 0: 让我给 ...
- sql截取某个字段字符串后几位_自学SQL网教程之09-SQL Lesson 8: 关于特殊关键字 NULLs...
SQL Lesson 8: 关于特殊关键字 NULLs 之前我们已经接触过NULL. 在数据库中,NULL表达的是 "无"的概念,或者说没有东西.因为 NULL的存在,我们需要在编 ...
- 推荐一个学习SQL的网站-自学SQL网
自学SQL网 自学SQL网 一个适合小白学SQL的网站,由浅入深的介绍所有有关 SQL 的知识, 每一个章节是一组相关的SQL知识点: 并且会配备一组动手练习任务. 这个网站特别适合学完某种知识就想马 ...
最新文章
- unity 天空盒_使用Substance in Unity搭建Unity和SP的live link实时互通环境
- TCP连接建立与终止,及状态转换
- 【错误记录】Git 使用报错 ( git branch -a 仍能查询到已经删除的远程分支 )
- 安全测试的目的,发现哪些问题
- 3.产品成本在完工和在制产品间分配
- Android学习—补间动画(渐变动画)
- 服务器无显示器,服务器无显示器 远程桌面
- es统计有多少个分组_ES 24 - 如何通过Elasticsearch进行聚合检索 (分组统计)
- android webview es6,Android v 5.0 webview HTML5,CSS3和ES6兼容性
- ADO.NET常用命名空间
- Ubuntu 20.04 更换阿里源
- 爬虫CASE01:反爬策略之使用随机user-agent模拟浏览器的网页爬取
- win10怎么在注册表中修改图片查看方式
- 新手学python笔记--3--爬取天天基金数据
- Latex设置指定区域的行距
- socket多进程编程
- CSR BC417143BGQ蓝牙模块芯片替换方案
- Windos环境下kafka配置启动Zookeeper时,报错:Invalid config, exiting abnormally.
- oracle expdp 11,oracle11g使用expdp/impdp备份数据
- 招行193亿港元收购永隆银行53.1%股份
热门文章
- thinkphp多城市房产系统源码程序_亲测Thinkphp开源房产程序源码/多城市版房产系统 带手机版+独家教程...
- lol个服务器系统更新先后,LOL各大服务器排行榜预览 谁将成为世界第一路人王...
- python封装程序
- 我需要几个变量来记录游戏声音大小,游戏音效大小,游戏是否静音,请帮我给这些变量取名...
- 几种常用的噪声估计算法(一)
- linux shell 数组 遍历
- 《评人工智能如何走向新阶段》后记(再续23)
- ARGB与RGB区别及透明度和RGB颜色对照表
- 芝诺悖论2 阿基里斯与乌龟
- 在Atlas 200DK上体验DVPP(1)VENC-VDEC-RESIZE-JPEGE