SQL Server实现显示每个类别最新更新数据的方法

前端之家收集整理的这篇文章主要介绍了SQL Server实现显示每个类别最新更新数据的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了sql Server实现显示每个类别最新更新数据的方法分享给大家供大家参考,具体如下:

在项目中经常遇到求每个类别最新显示的数据,比如显示某某某类别最新更新的5条数据。特写下这个sql记录于此:

sql;"> -- ============================================= -- 作者: -- 创建日期: <2012-9-28> -- 描述: <显示每个类别下最新更新的n条数据> -- ============================================= DECLARE @t TABLE ( NewsId INT,NewsType NVARCHAR(20),NewsTitle NVARCHAR(50),AddTime DATETIME ) INSERT INTO @t VALUES(1,'体育新闻','火箭赢了','2011-10-11') INSERT INTO @t VALUES(2,'刘翔因伤退出','2011-10-12') INSERT INTO @t VALUES(3,'奥尼尔减肥成功','2011-10-13') INSERT INTO @t VALUES(4,'八卦新闻','凤姐结婚了','2011-10-11') INSERT INTO @t VALUES(5,'刘德华当爹了','2011-10-12') INSERT INTO @t VALUES(6,'苍老师来中国宣传了','2011-10-13') INSERT INTO @t VALUES(7,'财经新闻','股票跌破2800点','2011-10-12') INSERT INTO @t VALUES(8,'人民币首次降息','2011-10-10') --每个类别最新显示数量 DECLARE @ShowNums INT SET @ShowNums=2 SELECT * FROM ( SELECT NewsId,NewsTitle,NewsType,AddTime,ROW_NUMBER() OVER(PARTITION BY NewsType ORDER BY AddTime DESC) AS RowIndex FROM @t ) AS T WHERE RowIndex <=@ShowNums

运行该sql,结果显示为:

希望本文所述对大家sql Server数据库程序设计有所帮助。

猜你在找的MsSQL相关文章