【发布时间】:2018-07-06 16:13:55
【问题描述】:
当我尝试获取按不同主题名称和员工姓名分组的最大价值列时,通过不工作进行分组。
第一个大括号内的选择查询工作正常,我从中得到了所需的输出。但是,我无法从每个员工身上获得最大价值。
select staff_name, subject_name, max(value) from
(select Staff.staff_name, Subject.subject_name, Mark.value as value
from ((staff inner join subject on Staff.staff_id=Subject.staff_id)
inner join Mark ON Mark.subject_id=Subject.subject_id)
group by subject_name);
错误是:
ORA-00979: not a GROUP BY expression
【问题讨论】:
-
所有非聚合列必须在
GROUP BY中。在这种情况下,您也必须将staff_name放入您的GROUP BY。
标签: sql database oracle oracle11g