我想选择谁已经比平均总时间,任何人都已经工作,一个阵营的Oracle SQL子查询
表是人与计划工作较少的人
这是我到目前为止有:
SELECT fname AS "First Name", lname AS "Last Name",
SUM((end_time - start_time) * 24)
FROM person JOIN schedule USING (person_ID)
GROUP BY fname
HAVING SUM((end_time - start_time) * 24) < (
SELECT AVG(SUM((end_time - start_time) * 24)) FROM schedule);`
人有FNAME,LNAME和PERSON_ID 时间表sched_id,s_date,START_TIME,END_TIME和PERSON_ID
谢谢!
收到此错误:
Error starting at line 18 in command:
SELECT fname AS "First Name", lname AS "Last Name",
SUM((end_time - start_time) * 24)
FROM person JOIN schedule USING (person_ID)
GROUP BY fname
HAVING SUM((end_time - start_time) * 24) < (
SELECT AVG(SUM((end_time - start_time) * 24)) FROM schedule)
Error at Command Line:18 Column:31
Error report:
SQL Error: ORA-00979: not a GROUP BY expression
00979. 00000 - "not a GROUP BY expression"
*Cause:
*Action:
您必须将select中的所有非聚合列包含在group by子句中。 – OldProgrammer