\t\tASE产生排名除使用identity外另外的方式(转载)
ASE产生排名除使用identity外另外的方式
表定义如下:
create table x (a int null,b int null)
insert into x select 3,5
insert into x select 2,6
insert into x select 1,1
insert into x select 5,2
insert into x select 7,3
要求按照b字段给他们排名,得到类似于以下结果
a b seq
----------- ----------- -----
1 1 1
5 2 2
7 3 3
3 5 4
2 6 5
1使用identity
select *,seq=identity(2) into #a from x order by 2
select *from #a
2使用自连接分组
select a.a,a.b,count(b.b) as seq from x a,x b where a.b >=b.b group by a.a,a.b order by 3
但如果使用第2种方法,在b数据有重复的情况下,得到的数据就不一样了。
insert into x select 8,5
1> select *,seq=identity(2) into #a from x order by 2
2> select *from #a
3> go
(6 rows affected)
a b seq
----------- ----------- -----
1 1 1
5 2 2
7 3 3
3 5 4
8 5 5
2 6 6
(6 rows affected)
1> select a.a,a.b,count(b.b) as seq from x a,x b where a.b >=b.b group by a.a,a.b order by 3
2> go
a b seq
----------- ----------- -----------
1 1 1
5 2 2
7 3 3
3 5 5
8 5 5
2 6 6
(6 rows affected)
b=5用地1个方法得到了4,5俩个排名,而2个方法大家都是5,而不是4
所以在排名字段如果存在重复值,就要看业务需求是否能够接受排名一致的情况
还有就是,这只是一个实现方法,如果数据量较大,性能恐怕成问题!
转载地址:http://blog.chinaunix.net/u/163/showart.php?id=96422
\t\tASE产生排名除使用identity外另外的方式(转载)相关推荐
- MySql 内连接,外连接查询方式区别
MySql 内连接,外连接查询方式 CREATE TABLE `question_test` (`q_id` int(11) DEFAULT NULL,`q_name` varchar(10) DEF ...
- 繁易平台直接对接监测点的数据(除MQTT方式外第二种方式)
繁易平台直接对接监测点的数据(除MQTT方式外第二种方式) 一: 注册开发者秘钥信息 登录繁易平台,点击设置 点击开发者账号 点击添加开发者秘钥: 注意: 添加开发者秘钥后,一定要保存client ...
- mysql外键设置方式
mysql外键设置方式/在创建索引时,可指定在delete/update父表时,对子表进行的相应操作, 包括: restrict, cascade,set null 和 no action ,set ...
- MySQL外键创建方式
MySQL外键创建方式 创建外键的两种方式: 方式一: 先创建两张单独的表,在对表约束进行修改,添加外键约束. USE school;ALTER TABLE `student1` RENAME `st ...
- 使用外链的方式让易班的轻应用更漂亮
易班的轻应用和易班web端的话题博文是可以使用css代码来设计格式的,但是博文话题不可以用外链的css代码,而且页面的代码量有限制,所以不容易做出好的效果.然而轻应用是可以外链css代码的,只需要li ...
- Mysql添加外键的方式
Mysql添加外键的几种方式 注意:添加外键是给从表添加(即子表) 父表是主表 方法一: 创建表之前: FOREIGN KEY (子表id) REFERENCES 关联表名(外主表id) 例如 cre ...
- 2018.8.18 servlet使用的会话跟踪除session外还有哪些方式
解释HTTP HTTP是一种无连接的协议,如果一个客户端只是单纯地请求一个文件(HTML或GIF),服务器端可以响应给客户端,并不需要知道一连串的请求是否来自于相同的客户端,而且也不需要担心客户端是否 ...
- 站外营销经典方式之论坛发帖技巧
讲到论坛发帖,做营销的朋友的大概都不陌生,这是一种很古老的发帖方式了,最早的帖子发布大多是在论坛上发的,因为以前还没有现在这么多的自媒体平台,最早的帖子发布大概就是三种形式,那就是博客.论坛.自己的网 ...
- Linux连接外网(方式一)
1. 方法一:NAT方式上网 NAT 是 Network address translate的简称.NAT技术应用在internet网关和路由器上,比如192.168.0.123这个地址要访问inte ...
- seo外链推广对网站优化排名的重要性
seo外链推广简称"网站外链推广"作为一个网站运营人员我们需要懂得如何打造高质量外链,老话说的好站内为王,外链为皇的一段话体现了网站外链对优化的莫大好处.下面站长论坛就来给各位分析 ...
最新文章
- 《Swift开发实战》——第2章,第2.4节函数和闭包
- 阿里云mysql数据库引擎_在阿里云RDS数据库服务器中将MySQL InnoDB引擎表转为压缩格式...
- webView loadData 中文乱码问题
- 数字图像处理:第九章 线性系统、卷积、傅立叶变换
- linux搭建springBoot环境,SpringBoot Linux服务化部署
- zoj 1078 palindrom numbers
- 漫步数理统计十七——条件分布与期望
- 如何编写wenpack插件
- 文件备份软件 FreeFileSync
- AE插件:TV Distortion Bundle mac(画面像素破损信号干扰失真插件)支持ae2021(2.6.0)
- 程序员面试HR常问问题(含答案)
- 频繁默认网关不可用_电脑经常掉线提示默认网关不可用原因分析和解决办法
- 直接跳转到app store指定应用页面或评论页面
- 【历史上的今天】12 月 27 日:第一台计算机背后的女性们;Box 创始人出生;开普勒诞生
- Shell学习笔记:#*、%*字符串掐头去尾方法
- TensorFlow Lite 开发手册(5)——TensorFlow Lite模型使用实例(分类模型)
- 新手小白如何短时间内熟练运营微信公众号
- 无人驾驶汽车是如何实现定位导航的
- 听诊器的基本构造及其特征
- 说说线程的生命周期和状态是如何运行