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

本文实例讲述了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数据库程序设计有所帮助。

时间: 2024-09-11 03:18:07

SQL Server实现显示每个类别最新更新数据的方法的相关文章

SQL语法集锦一:显示每个类别最新更新的数据

本文转载http://www.cnblogs.com/lxblog/archive/2012/09/28/2707504.html (1)显示每个类别最新更新的数据 在项目中经常遇到求每个类别最新显示的数据,比如显示某某某类别最新更新的5条数据.特写下这个sql记录于此: -- ============================================= -- 作者: <Rising_Sun> -- 创建日期: <2012-9-28> -- 描述: <显示每个类

SQL Server 2005中三种插入XML数据的方法

server|xml|插入|数据 我们知道SQL Server 2005中增加了XML类型,也就是说在创建表的时候可以指定某一列为XML类型,如:CREATE TABLE customers(  name VARCHAR(20) NOT NULL PRIMARY KEY,    description XML) 那么如何向XML类型的列中插入数据呢?基本上有三种办法:1.直接使用字符串,如INSERT INTO customers (feedName, feedXML) VALUES  ('Ra

SQL Server删除表及删除表中数据的方法_MsSql

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

SQL Server删除表及删除表中数据的方法

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

SQL server服务显示远程过程调用失败的解决方法_MsSql

 刚刚打开SQL Server 2008,想要新建一个数据库,却发现出现了一个问题,这个问题由于之前没有遇到过,所以下面整理解决SQL server服务远程调用失败的几个方法,供大家参考,具体内容如下 先看看出现的问题: 出现上面这个错误的原因可能是由于咱们在装VS2012或者其他版本的时候,这个VS会自动装"Microsoft SQL Server 2013(2012) ExpressLocalDB"服务,所以导致SQL server2008,中SQL server服务显示远程过程调

sql server 获取每一个类别中值最大的一条数据

原文:sql server 获取每一个类别中值最大的一条数据 /* 数据如下: name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b 5 b5b5b5b5b5 */ --创建表并插入数据: create table tb(name varchar(10),val int,memo varchar(20)) insert into

asp.net 图片保存SQL Server并显示图片的方法

/asp教程.net 图片保存sql server并显示图片的方法 private void form1_load(object sender, eventargs e)           {               filestream fs = new filestream(@"c:e06d3510ebfde555cb80c4de.jpg", filemode.open);               int ilength = int.parse(fs.length.tos

SQL server服务显示远程过程调用失败的解决方法

刚刚打开SQL Server 2008,想要新建一个数据库,却发现出现了一个问题,这个问题由于之前没有遇到过,所以下面整理解决SQL server服务远程调用失败的几个方法,供大家参考,具体内容如下 先看看出现的问题: 出现上面这个错误的原因可能是由于咱们在装VS2012或者其他版本的时候,这个VS会自动装"Microsoft SQL Server 2013(2012) ExpressLocalDB"服务,所以导致SQL server2008,中SQL server服务显示远程过程调用

SQL Server 2008安装提示1608错误及故障排除方法

SQL Server 2008安装提示1608错误及故障排除方法 一直使用SQL Server 2000 ,觉得安装方便快速,便不想升级到2005/2008.今天有个项目突然要用到2008,于是就在Windows7下安装了一下,没想到碰到一个1608错误,中间提示一大堆信息,上网搜索了一下,也好多遇到过这个错误,试了网上的方法都没有成功,郁闷中搜索到一个国外的方法:     SQL Server 2008 Setup fails on Windows 7 Enterprise, Error co