一聚教程网:一个值得你收藏的教程网站

热门教程

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

时间:2022-06-29 07:47:20 编辑:袖梨 来源:一聚教程网

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

 

 代码如下复制代码

-- =============================================

-- 作者: 

-- 创建日期:<2012-9-28>

-- 描述: <显示每个类别下最新更新的n条数据>

-- =============================================

DECLARE@tTABLE

(

 NewsIdINT,

 NewsType NVARCHAR(20),

 NewsTitle NVARCHAR(50),

 AddTime DATETIME

)

INSERTINTO@tVALUES(1,'体育新闻','火箭赢了',񟭋-10-11')

INSERTINTO@tVALUES(2,'体育新闻','刘翔因伤退出',񟭋-10-12')

INSERTINTO@tVALUES(3,'体育新闻','奥尼尔减肥成功',񟭋-10-13')

INSERTINTO@tVALUES(4,'八卦新闻','凤姐结婚了',񟭋-10-11')

INSERTINTO@tVALUES(5,'八卦新闻','刘德华当爹了',񟭋-10-12')

INSERTINTO@tVALUES(6,'八卦新闻','苍老师来中国宣传了',񟭋-10-13')

INSERTINTO@tVALUES(7,'财经新闻','股票跌破2800点',񟭋-10-12')

INSERTINTO@tVALUES(8,'财经新闻','人民币首次降息',񟭋-10-10')

--每个类别最新显示数量

DECLARE@ShowNumsINT

SET@ShowNums=2

SELECT*FROM

(

 SELECTNewsId,NewsTitle,NewsType,AddTime,

     ROW_NUMBER() OVER(PARTITIONBYNewsTypeORDERBYAddTimeDESC)ASRowIndex

FROM@t

 )AST

WHERERowIndex <=@ShowNums

 

运行该Sql,结果显示为:

热门栏目