本文實例講述了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數據庫程序設計有所幫助。