SQL语法集锦一:显示每个类别最新更新的数据
本文转载http://www.cnblogs.com/lxblog/archive/2012/09/28/2707504.html
(1)显示每个类别最新更新的数据
在项目中经常遇到求每个类别最新显示的数据,比如显示某某某类别最新更新的5条数据。特写下这个sql记录于此:
-- ============================================= -- 作者: <Rising_Sun> -- 创建日期: <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,结果显示为:
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET