在SQLServer2005之后我们可以通过一条SQL很方便的获取所有分类下TOPN条记录,这样做会大大提高数据库处理的效率。
假设我们有如下的数据结构:
Create table Info(
InfoID int,
classifyid int,
title varchar(400),
updatetime datetime
)
classifyid为分类编号,
updatetime为更新时间
获取每个分类下的最近更新的前10条记录的方法
select infoId,classifyid,title,updatetime from(
select infoID,classifyid,title,updatetime,row_number() over(partition by classifyid order by updatetime desc)
as rowindex from info) a
where rowindex <= 10
|
SQLServer2005获取所有分类下TOPN条记录
最新推荐文章于 2024-09-19 20:32:07 发布