我使用oracle 10g并编写了如下查询:
SELECT presenttime,
employeeid
FROM mobilelocation
WHERE presentdate = '31-10-2011'
GROUP BY employeeid;产生错误消息
ORA-00979: not a GROUP BY expression但是在删除这个group子句时,返回结果时不会出现类似的错误,
PRESENTTIME EMPLOYEEID
23:25 12304
23:48 12305我的group by子句有什么问题,同时也建议我如何使用order by子句
发布于 2011-11-09 02:46:08
GROUP BY意味着您希望为每个EmployeeID值将表中的多个行聚合到一行中。如果这是您的目标,则需要在不按其分组的列上指定聚合函数。例如,如果您希望为每个PresentTime提供最早的EmployeeID值,则可以执行以下操作
SELECT EmployeeID, MIN(PresentTime) earliestPresentTime
FROM mobileLocation
WHERE PresentDate = date '2011-10-31'
GROUP BY EmployeeID发布于 2011-11-09 02:44:27
您需要按两个当前时间分组,employeeID
就订单而言;它类似于按组排序。
employeeID,presentTIme (desc)命令
选择部分中的任何项目必须按部分在组中,如果没有定义一个集合(min、max、sum、count等)。
https://stackoverflow.com/questions/8059734
复制相似问题