首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

用SQL找到每种类型中时间最新的前N个数据组成的集合

2012-07-18 
用SQL找出每种类型中时间最新的前N个数据组成的集合比如有文章表 Article(Id,Category,InsertDate)现在要

用SQL找出每种类型中时间最新的前N个数据组成的集合

比如有文章表 Article(Id,Category,InsertDate)

现在要用SQL找出每种类型中时间最新的前N个数据组成的集合

SELECT A1.*  FROM Article AS A1       INNER JOIN (SELECT A.Category,A.InsertDate                  FROM Article AS A                        LEFT JOIN Article AS B                          ON A.Category = B.Category                             AND A.InsertDate <= B.InsertDate                   GROUP BY A.Category,A.InsertDate                  HAVING COUNT(B.InsertDate) <= @N     ) AS B1      ON A1.Category = B1.Category         AND A1.InsertDate = B1.InsertDate ORDER BY A1.Category,A1.InsertDate DESC

@N 就是你要取多少条

热点排行