着急求SQL语句:高手进(20分)

  • 主题发起人 主题发起人 国色天香
  • 开始时间 开始时间

国色天香

Unregistered / Unconfirmed
GUEST, unregistred user!
select top 10 articleid,classid,channelid from pe_article order by articleid
-------------------------------------------------

我想写一条SQL语句
选择同一 classid 和 channelid 下的 articleid 各前10条,怎么写?

上面的SQl语句是不行,只能够选择总共的前10条
 
有很多 classid 和 channelid ,我要把每个 classid 和 channelid 相同的记录下的 articleid 各提取前10条,
 
(select top 10 articleid,classid,channelid from pe_article order by articleid)
union
(select top 10 articleid,classid,channelid from pe_article order by channelid)
 
老大,这样总共只能提取20条啊

比如 3 个 classid,每个classid下有 3个 channelid,则要提取 90条

这样说不明白;列表吧:

articleid,classid,channelid
1 1 1
.
.
10 1 1
1 1 2
.
.
10 1 2
 
谁能帮我解决一下啊
 
..............
 
用临时表解决把
1、先把每个 classid 和 channelid写进临时表
2、再写一个存储过程来查找和合并每个 classid 和 channelid下的前10条记录
 
加个表示字段是否已经取过,总之咋样都很烦琐啊
 
classid 和 channelid 下的 articleid 各前10条
select * from pe_article where articleid in
(
select top 10 articleid from pe_article pa
where classid=pa.classid and channelid=pa.channelid
order by classid,channelid
)
order by classid,channelid
 
后退
顶部