2017-11-30 22 views
-1

私はMyTableに3つの列を持っており、各グループで合計の%を計算する必要があります。グループの合計の合計数

コード:

SELECT AppVintage, Strategy, Apps FROM mytable GROUP BY AppVintage,Strategy,Apps

各日付ライン毎に異なるクラスに、4回出現し、各ラインのためのアプリケーションの合計。

の表は、このようなものになります。サンプルデータセットのために

https://i.stack.imgur.com/mfPai.png

コード:私は必要なもの

CREATE TABLE mytable(
AppVintage VARCHAR(6) NOT NULL PRIMARY KEY 
,Strategy VARCHAR(28) NOT NULL 
,Apps  INTEGER NOT NULL 
); 
INSERT INTO mytable(AppVintage,Strategy,Apps) VALUES ('Nov16','300',10197); 
INSERT INTO mytable(AppVintage,Strategy,Apps) VALUES ('Nov-16','ORIG',29023); 
INSERT INTO mytable(AppVintage,Strategy,Apps) VALUES ('Nov-16','400',7219); 
INSERT INTO mytable(AppVintage,Strategy,Apps) VALUES ('Nov-16','500',9452); 
INSERT INTO mytable(AppVintage,Strategy,Apps) VALUES ('Dec-16','300',12517); 
INSERT INTO mytable(AppVintage,Strategy,Apps) VALUES ('Dec-16','ORIG',37762); 
INSERT INTO mytable(AppVintage,Strategy,Apps) VALUES ('Dec-16','400',8992); 
INSERT INTO mytable(AppVintage,Strategy,Apps) VALUES ('Dec-16','500',11229);' 

は戦略ごとのアプリケーションの割合を計算し、列を追加することです各appvintage。

これを行う方法はありますか?前もって感謝します!

答えて

2

あなたは

SELECT 
    AppVintage, 
    Strategy, 
    Apps, 
    Apps/SUM(Apps) OVER (PARTITION BY AppVintage) as Percent_Apps 
FROM myTable 
+0

は素晴らしい作品(2008+と仮定すると、SQL Serverの)これを行うには、ウィンドウ関数を使用することができます!ありがとう –