第七个哥第八个 查询 有人会的吗 求解诶0000000000000
1条回答 默认 最新
关注 两个表join,然后按部门聚合,汇总收入,用having 筛出大于9000 的
select max(dept_name) dept_name from dept,emp where dept.dept1=emp.dept2 group by dept.dept1 having sum(incoming)>9000;
你信不信我这查询结果是对的,但你老师可能会判错,因为可能更多人是下面这么写的
select dept.dept1,dept.dept_name, sum(incoming) incoming from dept join emp on dept.dept1=emp.dept2 group by dept.dept1,dept.dept_name having sum(incoming)>9000
但是你可以发现,我给的第一个sql只group by 了一个字段,因为部门编号本就是唯一,再按部门名称group by 没有意义了,会拖慢性能,
而且第一个sql是按要求只输出了部门名称,没有输出其他的多余字段。
另外如果在MYSQL8.0以上,我第一个sql里面的max建议换成any_value本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程