程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server實現顯示每個類別最新更新數據的方法

SQL Server實現顯示每個類別最新更新數據的方法

編輯:關於SqlServer

本文實例講述了SQL Server實現顯示每個類別最新更新數據的方法。分享給大家供大家參考,具體如下:

在項目中經常遇到求每個類別最新顯示的數據,比如顯示某某某類別最新更新的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,結果顯示為:

希望本文所述對大家SQL Server數據庫程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved