Sql server %按组别划分的总数

Sql server %按组别划分的总数,sql-server,percentage,subtotal,Sql Server,Percentage,Subtotal,我的表中有三列,我需要计算每组占总数的% 代码: 选择AppVintage、策略、应用程序 从mytable 按AppVintage、策略、应用程序分组 每个日期显示4次,每行显示一个不同的类,然后每行显示一个应用程序总数 该表如下所示: 示例数据集的代码: CREATE TABLE mytable( AppVintage VARCHAR(6) NOT NULL PRIMARY KEY ,Strategy VARCHAR(28) NOT NULL ,Apps INTEGER

我的表中有三列,我需要计算每组占总数的%

代码:

选择AppVintage、策略、应用程序
从mytable
按AppVintage、策略、应用程序分组

每个日期显示4次,每行显示一个不同的类,然后每行显示一个应用程序总数

该表如下所示:

示例数据集的代码:

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的每个策略的应用程序百分比


有办法做到这一点吗?提前谢谢

您可以使用窗口函数来执行此操作(假设SQL Server 2008+)

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