Sql 子查询上的oracle-sum?

Sql 子查询上的oracle-sum?,sql,oracle,Sql,Oracle,不知是否有人能帮助我理解如何将单列的成本汇总为一个总成本 我一直在研究这个问题,我认为我在下面的行中是正确的,我需要对查询求和,将其视为子查询。但是,我运气不太好——我需要给子查询一个别名,还是直接将查询包装成一个总和 这是我想要总结的工作查询,为了清晰起见,我所有的总结尝试都被遗漏了 SELECT TICKET_TYPE.PRICE AS TOTALSALES, RESERVATION.RESERVATION_ID, CINEMA.LOCATION, PERFORMANCE.PE

不知是否有人能帮助我理解如何将单列的成本汇总为一个总成本

我一直在研究这个问题,我认为我在下面的行中是正确的,我需要对查询求和,将其视为子查询。但是,我运气不太好——我需要给子查询一个别名,还是直接将查询包装成一个总和

这是我想要总结的工作查询,为了清晰起见,我所有的总结尝试都被遗漏了

SELECT TICKET_TYPE.PRICE AS TOTALSALES, RESERVATION.RESERVATION_ID,
       CINEMA.LOCATION, PERFORMANCE.PERFORMANCE_DATE
    FROM RESERVATION, TICKET, TICKET_TYPE, CINEMA, PERFORMANCE
    WHERE TICKET_TYPE.TICKET_TYPE_ID = TICKET.TICKET_TYPE_ID
      AND TICKET.RESERVATION_ID = RESERVATION.RESERVATION_ID
      AND RESERVATION.PERFORMANCE_ID = PERFORMANCE.PERFORMANCE_ID
      AND CINEMA.LOCATION = 'sometown'
      AND PERFORMANCE.PERFORMANCE_DATE = to_date('01/03/2009','DD/MM/yyyy');
一些数据

TOTALSALES RESERVATION_ID LOCATION PERFORMANCE_DATE
    2.8     1     sometown     01-MAR-09
    3.5     2     sometown     01-MAR-09
    2.8     3     sometown     01-MAR-09
    2.8     3     sometown     01-MAR-09
    2.8     3     sometown     01-MAR-09
    2       4     sometown     01-MAR-09
    2.8     5     sometown     01-MAR-09 

谢谢

您可以用

从mytable中选择sum(mycolumn)

当您将选择列表中的聚合器(例如sum()、count())与字段混合使用时,您将更改查询的含义。必须包含GROUP BY子句,并且该子句必须包含select列表的每个非聚合部分

您可以在嵌套子查询中自行求和,然后在外部选择中包含该输出…

尝试:

如果需要每个ID的总数,则需要包含一个group by

SELECT SUM(TICKET_TYPE.PRICE) AS TOTALSALES
          , RESERVATION.RESERVATION_ID
          , CINEMA.LOCATION
          , PERFORMANCE.PERFORMANCE_DATE
       FROM RESERVATION
          , TICKET
          , TICKET_TYPE
          , CINEMA
          , PERFORMANCE
      WHERE TICKET_TYPE.TICKET_TYPE_ID = TICKET.TICKET_TYPE_ID 
        AND TICKET.RESERVATION_ID = RESERVATION.RESERVATION_ID 
        AND RESERVATION.PERFORMANCE_ID = PERFORMANCE.PERFORMANCE_ID 
        AND CINEMA.LOCATION = 'sometown' 
        AND PERFORMANCE.PERFORMANCE_DATE = to_date('01/03/2009','DD/MM/yyyy');
     GROUP BY RESERVATION.RESERVATION_ID

****与上面的答案基本相同,在发布****

之前,我需要更好地刷新,您首先需要知道的是查询的“非求和部分”应该是什么

您希望计算X乘以Y的总和(例如,每月的销售额总和)。Y可以是任意数量的字段,结果数据集将包含Y字段的每个不同组合的一条记录


一旦您知道我们可以帮助您编写查询。

目前没有将电影院与性能表联系起来的问题,也没有PK/FK关系,因此可能会导致一些问题…您好-感谢您的评论-非常有用,当我使用sql时,我现在可以获得输出以汇总预订总销售额,这是朝着正确的方向迈出的一步——但我的目标是每一行的总数,以显示整个期间的总数,因此基本上我最终将有一行有一个很大的总数。我想我现在可能已经破解了它,我在select中取出了reservation\u id,并将其从group by中取出(我已将所有select字段放入)一旦我这样做了,它似乎是工作。谢谢你在理解上的帮助!谢谢你的建议,我觉得我现在明白了,所有的事情都起作用了。