小编典典

在T-SQL中按每N条记录分组

sql

我在数据库上有一些性能测试结果,我要做的是将每1000条记录 分组 (以前按日期升序排列),然后将结果与 AVG 进行汇总。

我实际上正在寻找标准的SQL解决方案,但是任何T-SQL特定的结果也值得赞赏。

查询如下所示:

SELECT TestId,Throughput  FROM dbo.Results ORDER BY id

阅读 196

收藏
2021-03-23

共1个答案

小编典典

WITH T AS (
  SELECT RANK() OVER (ORDER BY ID) Rank,
    P.Field1, P.Field2, P.Value1, ...
  FROM P
)
SELECT (Rank - 1) / 1000 GroupID, AVG(...)
FROM T
GROUP BY ((Rank - 1) / 1000)
;

这样的事情应该会让您入门。如果您可以提供实际的架构,我可以进行适当的更新。

2021-03-23