请问如何取读出来的数据后10条

wdxgdiy 2010-06-29 05:11:11
select top 20 sender,sum(points) as num from liwu where sendtime between @t and @e group by(sender) order by num desc

比如这条语句能读出来20条数据。我想取11~20 这10条数据应该如何操作或者如何写新的语句呢?
...全文
165 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
老黎 2010-06-29
  • 打赏
  • 举报
回复

select top 10 from
(
select top 20 sender,sum(points) as num from liwu where sendtime between @t and @e group by(sender) order by num desc
) a
order by num
Sharon_liu 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dawugui 的回复:]

SQL code
select top 10 * from
(
select top 20 sender,sum(points) as num from liwu where sendtime between @t and @e group by(sender) order by num desc
) t
order by num
[/Quote]
他这个需求可能不能这么做,里面作为排序的num并没有输出,所以第11到20位的num无法通过sum(points)确定
dawugui 2010-06-29
  • 打赏
  • 举报
回复
select top 10 * from 
(
select top 20 sender,sum(points) as num from liwu where sendtime between @t and @e group by(sender) order by num desc
) t
order by num
Sharon_liu 2010-06-29
  • 打赏
  • 举报
回复
写错了,用这个
SELECT  * FROM (
select ROW_NUMBER() OVER (ORDER BY NUM DESC) 'ID',sender,sum(points) 'POINTS' as num from liwu where sendtime between @t and @e group by(sender)
) T WHERE ID BETWEEN 11 AND 20
nightmaple 2010-06-29
  • 打赏
  • 举报
回复
select top 10 * from
(select top 20 sender,sum(points) as num from liwu
where sendtime between @t and @e group by(sender) order by num) tb
order by num desc
jiangshun 2010-06-29
  • 打赏
  • 举报
回复
select top 10 * from (select top 20 sender,sum(points) as num from liwu where sendtime between @t and @e group by(sender) order by num desc)g order by num 
Sharon_liu 2010-06-29
  • 打赏
  • 举报
回复
SELECT TOP 10 * FROM (
select top 20 sender,sum(points) 'POINTS',NUM as num from liwu where sendtime between @t and @e group by(sender) order by num desc
) ORDER BY NUM ASC

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧