Oracle SQL查询:为员工获得最大的销售额
发布时间:2021-01-08 03:16:40 所属栏目:站长百科 来源:网络整理
导读:我想为每位员工找到最大的销售(并显示员工的姓名).在 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,sale where employee.id = sale.employee_id group by employee.id,employee.name order by max(sale.total) desc 这是一个痛苦 – 我以前必须多次这样做 – 但只需将所有相关列添加到您的组中 (编辑:应用网_常德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐