我的數據是建立在以下方式:條件求和並計數的Teradata(SQL幫助)
Person Account Revenue Region
A W 100 AU
A W 200 AU
A W 300 AU
B X 200 AU
B X 50 CH
B X 50 CH
下面是樣本數據代碼:
IF OBJECT_ID('tempdb..#StackTest') IS NOT NULL
DROP TABLE #StackTest;
CREATE TABLE #StackTest
(Person varchar(1)
, Account varchar(1)
, Revenue int
, Region varchar(2));
INSERT INTO #StackTest
(Person
, Account
, Revenue
, Region)
VALUES
('A', 'W', 100, 'AU'),
('A', 'W', 200, 'AU'),
('A', 'W', 300, 'AU'),
('B', 'X', 200, 'AU'),
('B', 'X', 50, 'CH'),
('B', 'X', 50, 'CH');
我需要寫一個SQL只有當賬戶Q的總和超過Y時,纔會對這些賬戶的收入進行求和。同樣,當賬戶Q的總和超過Y時,我也需要只計算那些賬戶。因此,如果我的區域AU的總和閾值爲500,地區CH是200,那麼我想要以下輸出
Output # of accounts exceeding threshold sum Revenue from these accounts
A 1 600
B 0 0
但是,我當前的查詢是單獨檢查每個行項目,而不是在帳戶級別。
我該怎麼辦?
在哪裏查詢?它是MySQL還是SQL Server?不能兼而有之。請正確標記。 – Eric
閾值信息存儲在哪裏? –
閾值信息必須作爲條件添加到查詢中。 –