读书人

一条SQL命令 得出各分类的排行解决思路

发布时间: 2012-01-23 21:57:28 作者: rapoo

一条SQL命令 得出各分类的排行
如一个文章系统,有中国文章,日本文章,美国文章,韩国文章4个类别
现在要用一条语句就列表表中各类别最新加入的10篇文章,也就是40条记录,10条是中国文章,10条是日本文章等等

现在用max我只能得到4个类别中的第一条,也就是4条数据

SELECT MAX(id) AS id
FROM WZ_list
GROUP BY sclassid

[解决办法]
---方法1
Select * From WZ_list As T Where ID In
(Select Top 10 ID From WZ_list Where sclassid=T.sclassid Order By ID Desc)
Order By sclassid,ID Desc

---方法2
Select * From WZ_list As T Where
(Select Count(1) From WZ_list Where sclassid=T.sclassid And ID>=T.ID)<11
Order By sclassid,ID Desc

---方法3
Select * From WZ_list As T Where Not Exists
(Select 1 From WZ_list Where sclassid=T.sclassid And ID>=T.ID Group By sclassid Having Count(1)>10)
Order By sclassid,ID Desc

读书人网 >SQL Server

热点推荐