Java SQL错误:未在预期位置找到FROM关键字

Java SQL错误:未在预期位置找到FROM关键字,java,sql,oracle,Java,Sql,Oracle,好的,我得到一个错误:java.sql.SQLException:ORA-00923:FROM关键字未在我运行此查询时预期的位置找到。我不明白下面的FROM语句。谢谢 ResultSet rs = stmt.executeQuery("SELECT Airline, Avg((extract(day from (Actual_time - Scheduled_time)) * 24 * 60) (extract(hour from (Actual_time - Scheduled_t

好的,我得到一个错误:java.sql.SQLException:ORA-00923:FROM关键字未在我运行此查询时预期的位置找到。我不明白下面的FROM语句。谢谢

    ResultSet rs = 
stmt.executeQuery("SELECT Airline, 
Avg((extract(day from (Actual_time - Scheduled_time)) * 24 * 60) (extract(hour from (Actual_time - Scheduled_time)) * 60) (extract(minute from (Actual_time - Scheduled_time)))) 
AS 'Average Delay in Minutes' 
FROM Flight Group by Airline");

也许格式化代码可以使事情更容易阅读

在字段名中加空格是个坏主意

SELECT
    Airline, 
    AVG(
        (EXTRACT(DAY FROM (Actual_time - Scheduled_time)) * 24 * 60)
        (EXTRACT(HOUR FROM (Actual_time - Scheduled_time)) * 60)
        (EXTRACT(MINUTE FROM (Actual_time - Scheduled_time)))
    ) AS Average_delay_in_minutes 
FROM Flight
GROUP BY Airline;

我不知道你为什么有这样的逻辑,比如
(天)(小时)(分钟)
。大概,您希望组件之间有
+

SELECT Airline, 
       Avg((extract(day from (Actual_time - Scheduled_time)) * 24 * 60) +
           (extract(hour from (Actual_time - Scheduled_time)) * 60) +
           (extract(minute from (Actual_time - Scheduled_time)))
          ) AS AverageDelayInMinutes
FROM Flight
Group by Airline;

您的括号在原始查询中似乎是平衡的,因此我怀疑问题在于缺少运算符。

尝试在平均延迟(分钟)周围加上引号。如果更改了,它仍然不起作用。至少它缺少逗号/运算符<代码>60)(摘录应在列别名周围加双引号。