SQL Server 2008 R2——分组取前几名
版权声明:本文为博主原创文章 未经许可不得转载
请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我
未经作者授权勿用于学术性引用。
未经作者授权勿用于商业出版、商业印刷、商业引用以及其他商业用途。
本文不定期修正完善,为保证内容正确,建议移步原文处阅读。 <--------总有一天我要自己做一个模板干掉这只土豆
本文链接:http://www.cnblogs.com/wlsandwho/p/4829125.html
耻辱墙:http://www.cnblogs.com/wlsandwho/p/4206472.html
=======================================================================
只是写个简单的例子,不要在意星号什么的。
1 USE tempdb 2 3 IF EXISTS(SELECT * FROM sysobjects WHERE id=OBJECT_ID(N't_Test') AND OBJECTPROPERTY(id,N'IsUserTable')=1) 4 DROP TABLE t_Test 5 GO 6 CREATE TABLE t_Test( 7 OnLineDate DATETIME, 8 ProductID NVARCHAR(8), 9 WebPage NVARCHAR(32) 10 ) 11 GO 12 INSERT INTO t_Test VALUES(GETDATE(),'11111111','1cccccccccc') 13 WAITFOR DELAY '00:00:01' 14 INSERT INTO t_Test VALUES(GETDATE(),'11111111','1eeeeeeeeee') 15 WAITFOR DELAY '00:00:01' 16 INSERT INTO t_Test VALUES(GETDATE(),'11111111','1bbbbbbbbbb') 17 WAITFOR DELAY '00:00:01' 18 INSERT INTO t_Test VALUES(GETDATE(),'11111111','1dddddddddd') 19 WAITFOR DELAY '00:00:01' 20 INSERT INTO t_Test VALUES(GETDATE(),'11111111','1aaaaaaaaaa') 21 WAITFOR DELAY '00:00:01' 22 INSERT INTO t_Test VALUES(GETDATE(),'22222222','2aaaaaaaaaa') 23 WAITFOR DELAY '00:00:01' 24 INSERT INTO t_Test VALUES(GETDATE(),'22222222','2cccccccccc') 25 WAITFOR DELAY '00:00:01' 26 INSERT INTO t_Test VALUES(GETDATE(),'22222222','2eeeeeeeeee') 27 WAITFOR DELAY '00:00:01' 28 INSERT INTO t_Test VALUES(GETDATE(),'22222222','2dddddddddd') 29 WAITFOR DELAY '00:00:01' 30 INSERT INTO t_Test VALUES(GETDATE(),'22222222','2bbbbbbbbbb') 31 GO 32 33 SELECT OnLineDate,ProductID,WebPage,ROW_NUMBER() OVER(PARTITION BY ProductID ORDER BY OnLineDate DESC) AS rowRum FROM t_Test 34 GO 35 ----------------------------- 36 WITH t_Temp 37 AS 38 ( 39 SELECT OnLineDate,ProductID,WebPage,ROW_NUMBER() OVER(PARTITION BY ProductID ORDER BY OnLineDate DESC) AS rowRum FROM t_Test 40 ) 41 SELECT * FROM t_Temp 42 WHERE t_Temp.rowRum<=3 43 GO 44 ----------------------------- 45 WITH t_Temp 46 AS 47 ( 48 SELECT OnLineDate,ProductID,WebPage,ROW_NUMBER() OVER(PARTITION BY ProductID ORDER BY OnLineDate DESC) AS rowRum FROM t_Test 49 ) 50 SELECT * FROM t_Temp 51 WHERE t_Temp.rowRum<=3 ORDER BY ProductID ASC,OnLineDate DESC 52 GO
=======================================================================
最近没什么好写的,QQ群里有人问问题,就随手写了一个。
然而那人拿了之后就再也没有反应/反馈了。
所以只能对广大伸手党说一句,我真心希望你们都能看看《你的知识需要管理 田志刚》这本书。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache与Nginx的优缺点、性能比较,到底选择哪个比较好?
Apache与Nginx的优缺点、性能比较,到底选择哪个比较好? 1、nginx相对于apache的优点: 轻量级,同样起web服务,比apache 占用更少的内存及资源 抗并发,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache相对于nginx的优点: rewrite, 比nginx的rewrite强大 动态页面模块超多,基本想到的都可以找到 少bug,nginx的bug相对较多 超稳定 存在就是理由,一般来说,需要性能的web服务,用nginx。如果不需要性能只求稳定,那就apache吧。后者的各种功能模块实现得比前者,例如ssl的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd上是kqueue)网络IO模型是nginx处理性能高的根本理由,但并不是所有的情况下都是epoll大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache的select模型或许比epoll更高性能。当然,这只是根据网络IO模型的原理作...
- 下一篇
07.Java基础(泛型)
在类上定义泛型 类上定义的泛型是在对象实例化的时候指定的,可以用于类中定义的成员变量和成员方法,但是不包括静态成员变量和静态成员方法,因为静态变量和方法的调用可以通过类名实现,不需要创建类的对象,因此此时类上定义的泛型还没有被指定,所以静态不能使用类定义的泛型,相反对于普通成员变量和方法,它们的调用是通过类的对象来实现地,创建对象之后泛型已经被指定,所以它们可以和类的泛型保持一致 public class Tool<R> { //Cannot make a static reference to the non-static type R //public static R r; public R r; public void setR(R r) { this.r = r; } public R getR() { return r; } } 在方法上定义泛型 方法上使用的泛型可以和类泛型保持一致,比如我们上边得到setR getR方法,也可以设置和类泛型不同的泛型,如下便setParam方法泛型Z的指定,这样在调用这个方法的时候就可以你指定什么泛型就设置什么类型,但是这样操...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G