您的位置:首页 > 数据库

Sql:取每个分类的前10条数据

2007-05-14 11:09 417 查看
------每个分类的前10行
alter proc GetCateNews10
as
--将子分类号,分类名,行号存入#t
select ROW_NUMBER() OVER(ORDER BY s_id) AS 'RowNo'
,s_id,S_Name into #t from new_sub_category where c_id = 15
--取最大行号
declare @rowcount int
select @rowcount = max(rowno) from #t
--创建#tt存放每个分类的前10条数据
create table #tt(n_id int,N_title varchar(100),S_id int,S_Name varchar(50))
--根据行号循环
while(@rowcount > 0)
begin
declare @sid int
declare @sname varchar(50)
select @sid = s_id,@sname = s_name from #t where RowNo = @rowcount
insert into #tt
select top 10 N_ID,N_Title,@sid as S_ID,@sname as S_Name
from news
where nc_id = @sid
order by N_IssueTime desc
set @rowcount = @rowcount - 1
end
if object_id('tempdb..#t') is not null
select * from #tt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: