当前位置: 首页 > news >正文

【SQL】1731. 每位经理的下属员工数量 ( 新思想:确定左表,依次添加后续字段)

在这里插入图片描述


leetcode题目链接

注意点

  1. 确定左表(即,确定result表中的主键),依次添加后续字段。注意:主键可能是一个字段,也可能是多个字段
  2. COUNT(DISTINCT()),一般为了防止重复,使用COUNT计数时,一般带着DISTINCT(),不然就跟COUNT(1)、COUNT(常数)一样了。
  3. 一般,非聚合字段都要group by

写法一:思想:( 确定左表,依次添加后续字段)

select a.employee_id, b.name, reports_count, average_age
from (select reports_to as employee_id, count(distinct(employee_id)) as reports_count, round(AVG(age)) as average_agefrom employeeswhere reports_to is not nullgroup by reports_to) a 
left join (select employee_id, namefrom employeesgroup by employee_id, name) b
on a.employee_id = b.employee_id
order by employee_id asc

写法二:内连接

# 写法二
select a.employee_id, a.name, count(distinct(b.employee_id)) as reports_count, round(avg(b.age)) as average_age 
from employees a
inner join employees b
on a.employee_id = b.reports_to
group by a.employee_id, a.name
# 注意:非聚合字段都要group by
http://www.lryc.cn/news/145530.html

相关文章:

  • AMD Radeon RX 7000/6000系列显卡安装ROCm 调用CUDA
  • 钉钉小程序引用阿里巴巴图标
  • 深入了解Nginx:高性能的开源Web服务器与反向代理
  • vue3 自定义显示内容
  • 视频行为分析——视频图像转换与ffmpeg相关操作
  • Bean 生命周期
  • JavaScript原型链污染
  • 【Java】设计模式之单例模式与工厂模式
  • web自动化框架:selenium学习使用操作大全(Python版)
  • boringssl EVP_aes_128_ecb实现
  • vxe-table中树形结构
  • Linux命令查看CPU、内存、IO使用情况简单介绍
  • RPC框架的核心是什么
  • 直播、AI赋能,美团披着荆棘前行
  • 提升代码逻辑的感觉——python循环语句
  • 【ARM Coresight 系列文章 20 -- linux perf 与 ARM coresight】
  • 微服务之Nacos
  • jvm 新生代的区域划分
  • 【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)
  • 华为OD机试真题【羊狼农夫过河】
  • 【线性代数-3Blue1Brown】- 5 三维空间的线性变换
  • Maven入门教程(二):idea/Eclipse使用Maven
  • 【MySQL】MySQL里的用户账户和角色是什么?如何管理?
  • vbs病毒
  • 用Java实现Huffman编码
  • day-04 基于UDP的服务器端/客户端
  • FFmpeg rtp rtp_mpegts的区别
  • 【链表OJ】相交链表 环形链表1
  • DevOps之自动化测试
  • Java 程序打印 OpenCV 的版本