簡體   English   中英

在SELECT語句SQL中的其他聚合函數中使用聚合函數

[英]using aggregate function in other aggregate function in the SELECT statement SQL

我有一個相當大的聚合函數,我必須在另一列中使用兩次,有沒有一種方法可以寫下來而不必將第一個函數寫出三遍呢? 所以我想要這樣的事情:

Select
volumet =
CASE When sum(volume)>200, then 200
     Else sum(volume)
END,
sum(volumet * price) / volumet - price2 * volumet as Profit
FROM tablex
Select
sum(volumet * price) / volumet - price2 * volumet as Profit
FROM
(Select
CASE When sum(volume)>200, then 200
     Else sum(volume)
END as volumet, price, price2
FROM tablex) as tableAux

像這樣的東西應該是您根據原始帖子尋找的東西。

WITH CTE 
AS
(
    SELECT
        sum(volumet) AS volumet
    ,   price
    ,   price2
    FROM tablex
    group by price, price2
)
, VolumetValues as
(
    select case when volumet > 200 then 200 else volumet end as volumet
        , price
        , price2
    from CTE
)

SELECT 
    (volumet * price) / volumet - price2 * volumet as Profit
FROM VolumetValues

暫無
暫無

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

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