我有一张桌子,大致上有详细信息,例如离开,位置,DOJ,sal&年龄。
我想知道最大萨尔,最大年龄,疏忽和depid的位置组:
我编写了以下无法在表上执行的查询。
SELECT depid,location,MAX(sal),MAX(age) FROM company GROUP BY depid ORDER BY doj DESC
错误: ORA-00979:不是GROUP BY表达式
答案 0 :(得分:2)
您有两种方式:
location
包括在GROUP BY
条款中。MAX(location)
等汇总功能。答案 1 :(得分:1)
你应该这样写:
SELECT
depid,
first_value(location)over(partition by depid order by doj desc) location ,
MAX(sal),
MAX(age)
FROM company GROUP BY depid ORDER BY doj DESC