m0_67566203 2022-03-05 17:51 采纳率: 100%
浏览 18
已结题

mysql第七题 查询不会 求解

img

img


第七个哥第八个 查询 有人会的吗 求解诶0000000000000

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-05 20:26
    关注

    两个表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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 已采纳回答 3月5日
  • 创建了问题 3月5日

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献