sqlserver 聚合 如何分页

sqlserver 中对分组的数据 进行聚合统计 由于数据量很大,加上多个分组同时,统计出来的结果集就会很多,这就需要在数据库中用T-sql 来分页,但由于ROW_NUMBER不能在聚合函数中,无法进行分页,请问怎么才能分页的

我看没人回答我再上。
-----------------------------
这个用子查询就可以了!如果嵌套很多,证明你的数据库设计很蹩脚。
给你个例子:
----------
SELECT TOP 10
convert(varchar(10),K.ID) as ID,
convert(varchar(20),convert(decimal(18,2),K.SumRealSaleCost)) as SumRealSaleCost,
K.CountRes
from
(
select
ROW_NUMBER() OVER (ORDER BY GetDate()) AS ID,
(sum(M.Sale) over()-sum(M.ReturnSaleCost) over()) as SumRealSaleCost,
count(*) over() as CountRes
from
(
---这里你爱用什么聚合函数就用什么聚合函数,我只用了一个简单的子查询而已!
select
A.Sale,
A.ReturnSaleCost
from ProductStore A
) M
) K
where K.ID >?
--这个排序最好和分页函数一致。
ORDER BY K.Sale DESC
--------------------
最外层为类型转化层
中间是数据逻辑层
最内层就是集合构建层
我这种写法很多人不理解,本人原创。你百度不到!
---------------------
如果LZ数据库有功底的话,加入我的团队吧!数据库聚贤庄
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-22
SqlServer 不是有top 就是用来分页的
相似回答