簡體   English   中英

甲骨文 - 一個子查詢總和?

[英]oracle - sum on a subquery?

想知道是否有人可以幫助我理解如何將單列的總和,即將成本列表匯總為一個總成本。

我一直在研究這個問題,我想我的理解是正確的,我需要對查詢求和,將其視為子查詢。 但是我運氣不太好-我需要給子查詢一個別名,還是直接將查詢包裝成一個總和?

這是我要總結的有效查詢,為清晰起見,我對求和的所有嘗試都省略了!

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子句,並且該子句必須包含選擇列表的每個非聚合部分。

您可以自己在嵌套子查詢中進行總和,然后將輸出包括在外部選擇中...

嘗試:

如果要每個ID的總數,則需要包括一個分組。

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之和(例如MONTH的SALES之和)。 Y可以是任意數量的字段,並且對於Y字段的每種不同組合,結果數據集將包含一個記錄。

一旦您知道我們可以幫助您編寫查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM