首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平均查询ORA-00936错误

平均查询ORA-00936错误
EN

Stack Overflow用户
提问于 2018-07-10 22:32:36
回答 3查看 57关注 0票数 0
代码语言:javascript
复制
SQL> SELECT consignmentNo, VoyageNo, Weight
  2  (SELECT (AVG(WEIGHT) FROM consignment), AS AVERAGE,
  3  WHERE Weight = 650,
  4  FROM consignment;
(SELECT (AVG(WEIGHT) FROM consignment), AS AVERAGE,
 *
ERROR at line 2:
ORA-00936: missing expression

特定船舶的平均重量,也列出了特定船舶的托运,无法识别错误

EN

回答 3

Stack Overflow用户

发布于 2018-07-10 22:34:54

你只是在找group by吗?

代码语言:javascript
复制
SELECT VoyageNo, AVG(Weight)
FROM consignment
GROUP BY VoyageNo;

如果你想要平均值和详细信息,你需要一个窗口函数:

代码语言:javascript
复制
SELECT c.*, AVG(Weight) OVER (PARTITION BY VoyageNo)
FROM consignment c;

这里假设您所说的ship就是VoyageNo

票数 1
EN

Stack Overflow用户

发布于 2018-07-10 22:35:42

您的查询中有一个额外的, (在AS AVERAGE之前),并且在Weight之后缺少一个,。此外,fromwhere的顺序也不对。试试这个:

代码语言:javascript
复制
SELECT consignmentNo, VoyageNo, Weight,
(SELECT (AVG(WEIGHT) FROM consignment) AS AVERAGE,
FROM consignment
WHERE Weight = 650;
票数 0
EN

Stack Overflow用户

发布于 2018-07-10 22:37:59

你似乎想要:

代码语言:javascript
复制
SELECT consignmentNo, VoyageNo, Weight, avg.AVERAGE 
FROM consignment CROSS JOIN 
     (SELECT AVG(WEIGHT) AS AVERAGE FROM consignment) avg
WHERE Weight = 650;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51267927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档