当前位置:Gxlcms > mssql > SQLServer实现显示每个类别最新更新数据的方法

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

时间:2021-07-01 10:21:17 帮助过:121人阅读

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

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

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

运行该Sql,结果显示为:

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

您可能感兴趣的文章:

  • SQLServer批量更新两个关联表数据的方法
  • SQLServer用存储过程实现插入更新数据示例
  • SQLSERVER 本地查询更新操作远程数据库的代码
  • 数据库更新Sqlserver脚本总结
  • sql server中批量插入与更新两种解决方案分享(asp.net)
  • sql server中批量插入与更新两种解决方案分享(存储过程)
  • Sqlserver 2005使用XML一次更新多条记录的方法
  • SQL Server自动更新统计信息的基本算法
  • SQL Server 利用触发器对多表视图进行更新的实现方法

人气教程排行