首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用SUM()在同一个查询中使用计数?

如何使用SUM()在同一个查询中使用计数?
EN

Stack Overflow用户
提问于 2021-01-06 08:33:17
回答 1查看 44关注 0票数 0

好的,我有三张桌子:剧院,眼镜和票。剧院有一个或多个眼镜,一张或多张票卖了一张或多张*因此,id_theater表眼镜中的外键,id_spectacle桌券中的外键。在桌票中,我有ticket_priceid_ticket,而用id_ticket,我计算出眼镜的门票数量。每个剧院都有一个或多个眼镜。眼镜的数值计算为:count(tickets.id_ticket) * tickets.ticket_price。在计算眼镜的值之后,我需要收集眼镜的值,以找到剧院的每个值,并为此使用SUM()

,我需要编写一个查询,其中我需要计算每个剧院获得的总价值,并按值进行排序。为此,我需要使用SUM()函数。我尝试了很多不同的选项,但是我有不同的错误。当我试图运行此程序时,出现了以下错误:

代码语言:javascript
复制
SQL Error: ORA-00937: not a single-group group function
代码语言:javascript
复制
SELECT 
     theater.id_theater, 
     SUM(count(tickets.id_ticket) * tickets.id_ticket) total_theater
FROM spectacles, theater
GROUP BY theater.id_theater
ORDER BY total_theater DESC;

对于这个问题,我必须使用SUM,但我现在真的不知道该怎么做,我希望得到任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-01-06 08:48:24

您可以使用普通的INNER JOINsum,如下所示:

代码语言:javascript
复制
SELECT theater.id_theater, 
       SUM(tkt.ticket_price) total_theater_tkt_price
  FROM spectacles s 
  join theater t on t.id_theatre = s.id_theatre
  JOIN tickets tkt on tkt.id_spectacle = s.id_spectacle
GROUP BY t.id_theater
ORDER BY total_theater_tkt_price DESC;

备注:始终使用标准ANSI-联接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65592512

复制
相关文章

相似问题

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