微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在T-SQL中按每N条记录分组

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)
;

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

解决方法

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

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

查询如下所示:

SELECT TestId,Throughput  FROM dbo.Results ORDER BY id

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。