Oracle SQL查询:为员工获得最大的销售额

Oracle SQL查询:为员工获得最大的销售额,第1张

概述我想为每位员工找到最大的销售(并显示员工的姓名).在 MySQL中,它非常简单: select * from employee, sale where employee.id = sale.employee_id group by employee_id order by sale.total desc 这几乎与人们所期望的一样,它会返回一份员工列表,最终返回员工行中最大的 我想为每位员工找到最大的销售(并显示员工的姓名).在 MySQL中,它非常简单:

select *   from employee,sale   where employee.ID = sale.employee_ID   group by employee_ID   order by sale.total desc

这几乎与人们所期望的一样,它会返回一份员工列表,最终返回员工行中最大的销售记录.

但是,当使用group by子句时,Oracle不允许您返回不按表达式分组的列.这样做可以让我在MysqL中做的“不可能”在Oracle中吗?或者有一些解决方法吗?我想我可以执行某种子查询,但不确定是否有另一种方法可以做到这一点,构建起来并不是那么复杂.

解决方法 删除您的select *并将其替换为您需要的列,然后按所有“未处理”列进行分组.

你最终会得到类似的东西:

select employee.ID,employee.name,max(sale.total)from employee,salewhere employee.ID = sale.employee_IDgroup by employee.ID,employee.nameorder by max(sale.total) desc

这是一个痛苦 – 我以前必须多次这样做 – 但只需将所有相关列添加到您的组中

总结

以上是内存溢出为你收集整理的Oracle SQL查询:为员工获得最大的销售额全部内容,希望文章能够帮你解决Oracle SQL查询:为员工获得最大的销售额所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1158011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存