转自:http://blog.csdn.net/yizhiduxiu11/archive/2009/01/16/3794577.aspx,向作者表示感谢!
方法1:
SELECT newsid,title,classid FROM news a
WHERE (SELECT count(*) FROM news b WHERE b.classid=a.classid AND b.newsID>a.newsID )<5
ORDER BY classid asc,newsID desc
我用的语句:取数据库中每个作者的'前5条记录
SELECT articleid,title,uid FROM bk_cmsindex a
WHERE (SELECT count(*) FROM bk_cmsindex b WHERE b.uid=a.uid AND b.articleid>a.articleid )<5
ORDER BY uid asc,articleid desc;
方法2:
select * from news a where newsid in(select top 5 newsid from news where classid=a.classid) order by a.newsid
总结:方法1相对方法2效率高些