gpt4 book ai didi

sql - 分组 TSQL 查询中的总计数

转载 作者:行者123 更新时间:2023-12-02 07:31:49 25 4
gpt4 key购买 nike

我有一个性能要求很高的查询,它根据其他表等中的数据过滤掉许多不需要的记录。

我正在对一列进行平均,并返回每个平均组的计数。这一切都工作正常。

但是,我还想包括总计数的百分比。

是否有任何方法可以在不重新运行整个查询或显着增加性能负载的情况下获取此总数?

如果我不需要完全重构子查询(例如,通过获取子查询之外的总计数),我也更愿意,但如果需要的话可以这样做。

SELECT 
data.EquipmentId,
AVG(MeasureValue) AS AverageValue,
COUNT(data.*) AS BinCount
COUNT(data.*)/ ???TotalCount??? AS BinCountPercentage
FROM
(SELECT * FROM MultipleTablesWithJoins) data
GROUP BY data.EquipmentId

最佳答案

参见Window functions .

SELECT 
data.EquipmentId,
AVG(MeasureValue) AS AverageValue,
COUNT(*) AS BinCount,
COUNT(*)/ cast (cnt as float) AS BinCountPercentage
FROM
(SELECT *,
-- Here is total count of records
count(*) over() cnt
FROM MultipleTablesWithJoins) data
GROUP BY data.EquipmentId, cnt

编辑:忘记实际除以数字。

关于sql - 分组 TSQL 查询中的总计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11687082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com