本文實例講述了SQL Server實現(xiàn)顯示每個類別最新更新數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
在項目中經(jīng)常遇到求每個類別最新顯示的數(shù)據(jù),比如顯示某某某類別最新更新的5條數(shù)據(jù)。特寫下這個sql記錄于此:
-- =============================================-- 作者: <Rising_Sun>-- 創(chuàng)建日期: <2012-9-28>-- 描述: <顯示每個類別下最新更新的n條數(shù)據(jù)>-- =============================================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,'八卦新聞','鳳姐結(jié)婚了','2011-10-11')INSERT INTO @t VALUES(5,'八卦新聞','劉德華當?shù)?#39;,'2011-10-12')INSERT INTO @t VALUES(6,'八卦新聞','蒼老師來中國宣傳了','2011-10-13')INSERT INTO @t VALUES(7,'財經(jīng)新聞','股票跌破2800點','2011-10-12')INSERT INTO @t VALUES(8,'財經(jīng)新聞','人民幣首次降息','2011-10-10')--每個類別最新顯示數(shù)量DECLARE @ShowNums INTSET @ShowNums=2SELECT * FROM ( SELECT NewsId,NewsTitle,NewsType,AddTime, ROW_NUMBER() OVER(PARTITION BY NewsType ORDER BY AddTime DESC) AS RowIndex FROM @t ) AS TWHERE RowIndex <=@ShowNums
運行該Sql,結(jié)果顯示為:
希望本文所述對大家SQL Server數(shù)據(jù)庫程序設(shè)計有所幫助。
新聞熱點
疑難解答
圖片精選