SQL-两个值的除法

SQL-两个值的除法,sql,Sql,在SQL中,我有一个事务数据集。我能够使用两个单独的聚合函数(见下文)获得人员A的销售额和总销售额 如何获得销售人员占总销售额的百分比 总销售额 SELECT SUM(sales) AS total_sales FROM table; SELECT SUM(sales) AS Sales_Person_A FROM table WHERE salesperson = salespersonA; 个人A的销售额 SELECT SUM(sales) AS total_sales FROM tab

在SQL中,我有一个事务数据集。我能够使用两个单独的聚合函数(见下文)获得人员A的销售额和总销售额

如何获得销售人员占总销售额的百分比

总销售额

SELECT SUM(sales) AS total_sales
FROM table;
SELECT SUM(sales) AS Sales_Person_A
FROM table
WHERE salesperson = salespersonA;
个人A的销售额

SELECT SUM(sales) AS total_sales
FROM table;
SELECT SUM(sales) AS Sales_Person_A
FROM table
WHERE salesperson = salespersonA;

使用条件聚合:

SELECT SUM(CASE WHEN salesperson = @salespersonA THEN sales END) * 1.0 / SUM(sales)
FROM table;
如果希望所有销售人员都能使用此功能,请使用聚合和窗口功能:

select salesperson, sum(sales),
       sum(sales) * 1.0 / sum(sum(sales)) over ()
from table
group by salesperson;

您可以使用
subquery
进行
totalSales

SELECT (SUM(sales)/(SELECT SUM(sales) AS total_sales
FROM table)) * 100 + '%' as Sales_Person_A_Percentage 
FROM table
WHERE salesperson = salespersonA;