Sql ORA-00907“;缺少右括号“;提取月份和年份

Sql ORA-00907“;缺少右括号“;提取月份和年份,sql,oracle,Sql,Oracle,今天一切都很糟糕。我试图得到一个月,年的清单,然后平均每个月的订单总数。我收到ORA-00907“缺少右括号”,我不知道为什么。再一次,我对这个很陌生,但是我引用的代码。提前谢谢 SELECT EXTRACT (MONTH, YEAR FROM ORDERDATE) "DATE" AVG (ORDERDATE) "NO. OF ORDERS" FROM ORDERINFO GROUP BY EXTRACT (MONTH, YEAR FROM ORDERDATE) ORDER BY "MONTH"

今天一切都很糟糕。我试图得到一个月,年的清单,然后平均每个月的订单总数。我收到ORA-00907“缺少右括号”,我不知道为什么。再一次,我对这个很陌生,但是我引用的代码。提前谢谢

SELECT EXTRACT (MONTH, YEAR FROM ORDERDATE) "DATE"
AVG (ORDERDATE) "NO. OF ORDERS"
FROM ORDERINFO
GROUP BY EXTRACT (MONTH, YEAR FROM ORDERDATE)
ORDER BY "MONTH" ASC; 

您引用的文档表明,只有一个日期部分说明符可以使用提取功能

例如,
提取(从订单日期算起的月份)
提取(从订单日期算起的年份)

我猜你真的想截断orderdate。看


您引用的文档表明,只有一个日期部分说明符可以使用提取功能

例如,
提取(从订单日期算起的月份)
提取(从订单日期算起的年份)

我猜你真的想截断orderdate。看

要么:

select
  extract(month from orderdate) as year,
  extract(year from orderdate) as month,
  ...
from ...
group by extract(month from orderdate), extract(year from orderdate)
或:

要么:

select
  extract(month from orderdate) as year,
  extract(year from orderdate) as month,
  ...
from ...
group by extract(month from orderdate), extract(year from orderdate)
或:

这将有助于:

select extract(month from orderdate) "MONTH",
       extract(year from orderdate) "YEAR",
from orderdate
group by extract(month from orderdate)
order by extract(month from orderdate) asc;
这将有助于:

select extract(month from orderdate) "MONTH",
       extract(year from orderdate) "YEAR",
from orderdate
group by extract(month from orderdate)
order by extract(month from orderdate) asc;

使用TRUNC而不是truncatch@WernfriedDomscheit。我相应地编辑了我的答案。使用TRUNC而不是truncegood catch@WernfriedDomscheit。我相应地编辑了我的答案。哪一个是表orderdate或orderinfo应该有一个显示您的表和所需输出哪一个是表orderdate或orderinfo应该有一个显示您的表和所需输出1。您的帖子添加到页面的信息是什么。2.为什么你认为月数的平均值是一个有意义的数字,尤其是为什么你认为它是订单数?@miracle173这就是为什么我要表格和期望的输出1。您的帖子添加到页面的信息是什么。2.为什么你认为月数的平均值是一个有意义的数字,尤其是为什么你认为它是订单数?@miracle173这就是为什么我要表格和期望的产出