本文實例講述了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 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,結果顯示為:
希望本文所述對大家SQL Server數據庫程序設計有所幫助。
|
新聞熱點
疑難解答