[英]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.