聚合SQL查询以查找与总数相比的%

时间:2018-04-27 11:35:54

标签: sql postgresql aggregate aggregate-functions

我有一个查询,显示我按商店计算。我想找到%对总数。

以下是我构建的SQL:

return this.http.put('http://192.168.100.3:3000/users/update', user, {headers: headers})
.map(res => {
    /* Write call to get updated information from the server and Update your view accordinly */
    return res.json();
  }
})

输出:

select store, sum(sales), bill_date
from sales
where date = '2018-01-01'
group by store, bill_date 

我想再增加一列,显示每家商店的销售额与所有商店相比的百分比。谁能帮忙。谢谢

1 个答案:

答案 0 :(得分:1)

使用ANSI标准窗口函数:

select store, sum(sales), bill_date,
       sum(sales) * 1.0 / sum(sum(sales)) over () as store_ratio
from sales
where date = '2018-01-01'
group by store, bill_date ;

* 1.0成为一些数据库做整数除法(所以1/2 = 0,而不是0.5)。这可能不适用于您的数据库。