gpt4 book ai didi

sql - Oracle SQL 查询 : Getting Largest Sale for Employee

转载 作者:行者123 更新时间:2023-12-01 07:48:53 24 4
gpt4 key购买 nike

我想为我的每个员工找到最大的销售额(并显示员工的姓名)。在 MySQL 中,它非常简单:

select * 
from employee, sale
where employee.id = sale.employee_id
group by employee_id
order by sale.total desc

这几乎符合人们的预期,它将返回员工列表,并最终返回员工行中最大的销售记录。

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

最佳答案

摆脱你的 select *并将其替换为您需要的列,然后按所有“未处理”列进行分组。

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

select employee.id, employee.name, max(sale.total)
from employee, sale
where employee.id = sale.employee_id
group by employee.id, employee.name
order by max(sale.total) desc

这很痛苦 - 我之前不得不多次这样做 - 但只需将所有相关列添加到您的组中

关于sql - Oracle SQL 查询 : Getting Largest Sale for Employee,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1486771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com