SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
原作者好像叫做topcat,我是自己理解了一下凭记忆写下来备用的。
如果使用Select Name From StudentTable,显示的结果是:
Name
张三
李四
而如果使用Select ROW_NUMBER() AS ROWINDEX,Name From StudentTable,则显示的结果是
ROWINDEX Name
1 张三
2 李四
当然一般查询的结果是不需要添加编号的,因为在显示数据的时候,列表本身就有编号。但是这样做的好处就是你可以在数据库查询出多个结果集,然后通过ROWINDEX 字段链接在一起之后再返回给客户,更加的灵活。
另外有几个参数可选:
1。 ROW_NUMBER()
例如:Select ROW_NUMBER() OVER(ORDER BY Name) AS ROWINDEX,Name From StudentTable
效果是依次排序
2。RANK()
例如:Select RANK() OVER(ORDER BY Name) AS ROWINDEX,Name From StudentTable
效果是假如有5个人叫张三,则5个张三都是1号,然后第一个李四就是6号,以此类推
3。DENSE_RANK()
和上一个类似,区别是第一个李四是2号
相关推荐
-
三种SQL分页查询的存储过程代码
复制代码 代码如下: --根据MAX(MIN)ID CREATE PROC [dbo].[proc_select_id] @pageindex int=1,--当前页数 @pagesize int=10,--每页大小 @tablename VARCHAR(50)='',--表名 @fields VARCHAR(1000)='',--查询的字段集合 @keyid VARCHAR(50)='',--主键 @condition NVARCHAR(1000)='',--查询条件 @orderstr VA
-
sqlserver巧用row_number和partition by分组取top数据
分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系统中取出每个学科前3名的学生.这种查询在SQL Server 2005之前,写起来很繁琐,需要用到临时表关联查询才能取到.SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单.下面是一个简单示例: 复制代码 代码如下: --1.创建测试表 create table #score ( name varchar(20), subject varchar(2
-
php下巧用select语句实现mysql分页查询
利用select语句的一个特性就可以很方便地实现mysql查询结果的分页,下文对该方法的实现过程作了详细的介绍,希望对您能有所启迪. mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习. mysql中利用select语句的一个特性就可以很方便地实现查询结果的分页,select语句实现mysql分页查询的语法: 复制代码 代码如下: SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BI
-
sql分页查询几种写法
关于SQL语句分页,网上也有很多,我贴一部分过来,并且总结自己已知的分页到下面,方便日后查阅 1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTest use DBTest --创建测试表 create table pagetest ( id int identity(1,1) not null, col01 int null, col02 nvarchar(50) null, col03 datetime null ) --1万记录集 declar
-
SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法
ROW_NUMBER() 说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始.语法:ROW_NUMBER () OVER ( [ <partition_by_clause> ] <order_by_clause> ) .备注:ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序.参数:<partition_by_clause> :将 FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区. <o
-
二种sql分页查询语句分享
根据题意理解: 本质就是写分页查询: 每页条数:10条: 当前页码:4页: 复制代码 代码如下: //第一种:select * from (select ROW_NUMBER() over(order by Id asc) as num,* from UserInfo)as u where u.num between 10*(4-1)+1 and 10*4//第二种:select top 10 * from UserInfo where Id not in(select top (10*3) i
-
SQLSERVER分页查询关于使用Top方式和row_number()解析函数的不同
临近春节,心早已飞了不在工作上了,下面小编给大家整理些数据库的几种分页查询. Sql Sever 2005之前版本: select top 页大小 * from 表名 where id not in ( select top 页大小*(查询第几页-1) id from 表名 order by id ) order by id 例如: select top 10 * --10 为页大小 from [TCCLine].[dbo].[CLine_CommonImage] where id not in
-
mysql分页原理和高效率的mysql分页查询语句
以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我们又该怎么做呢? 第一部分:看一下分页的基本原理: 复制代码 代码如下: mysql explain SELECT * FROM message ORDER BY id DESC LIMIT 10000, 20***************** 1. row **************id: 1select_type: SIMPLEtable: m
-
SQL Server 排序函数 ROW_NUMBER和RANK 用法总结
1.ROW_NUMBER()基本用法: SELECT SalesOrderID, CustomerID, ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber FROM Sales.SalesOrderHeader结果集:SalesOrderID CustomerID RowNumber--------------- ------------- ---------------43659 676
-
SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
原作者好像叫做topcat,我是自己理解了一下凭记忆写下来备用的. 如果使用Select Name From StudentTable,显示的结果是: Name 张三 李四 而如果使用Select ROW_NUMBER() AS ROWINDEX,Name From StudentTable,则显示的结果是 ROWINDEX Name 1 张三 2 李四 当然一般查询的结果是不需要添加编号的,因为在显示数据的时候,列表本身就有编号.但是这样做的好处就是你可以在数据库查询出多个结果集,然后通过RO
-
MySQL自动为查询数据结果加序号
目录 数据表 MySQL给查询加序号 解释说明 相关知识点 数据表 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT '用户id', subject VARCHAR(20) COMMENT '科目', score DOUBLE COMMENT '成绩', PRIMARY KEY(id) )ENGI
-
使用vue的v-for生成table并给table加上序号的实例代码
现在有一个使用mybatis的分页插件生成的table,table中数据是通过vue获得的 , 前台显示使用<tr v-for="item in items"> 后台vue获取数据使用分页插件进行查询然后使用回调,将结果返回给vue的一个model /** * 分页控件加载 * @param data */ function aspnetPagerInfoIM(pageDataShow,pageModule,resource, modelCallBack) { var pa
-
mysql查询字段类型为json时的两种查询方式
表结构如下: id varchar(32) info json 数据: id = 1 info = {"age": "18","disname":"小明"} -------------------------------------------- 现在我需要获取info中disanme的值,查询方法有: 1. select t.id,JSON_EXTRACT(t.info,'$.disname') as disname fro
-
thinkphp 3.2框架视图模型 实例视图查询结果的二维数组合并操作示例
本文实例讲述了thinkphp 3.2框架视图模型 实例视图查询结果的二维数组合并操作.分享给大家供大家参考,具体如下: 使用视图模型查询的时候 结果是这样的 array(6) { [0] => array(5) { ["picTitle"] => string(7) "标题2" ["picCategroy"] => string(6) "海报" ["picAuthor"] => s
-
MongoDB查询之高级操作详解(多条件查询、正则匹配查询等)
MongoDB查询之高级操作 语法介绍 MongoDB查询文档使用find()方法,同时find()方法以非结构化的方式来显示所有查询到的文档. -- 1.基本语法 db.collection.find(query, projection) -- 返回所有符合查询条件的文档 db.collection.findOne(query, projection) -- 返回第一个符合查询条件的文档 -- query:可选,查询条件操作符,用于指定查询条件 -- projection:可选,投影操作符,用
-
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
目录 Redis如何保证高效的查询效率 为什么Redis比较快 Redis中的数据结构 1.简单动态字符串 2.链表 3.字典 4.跳表 5.整数数组 6.压缩列表 为什么单线程还能很快 基于多路复用的高性能I/O模型 单线程处理IO请求性能瓶颈 总结 参考 Redis 如何保证高效的查询效率 为什么 Redis 比较快 Redis 中的查询速度为什么那么快呢? 1.因为它是内存数据库: 2.归功于它的数据结构: 3.Redis 中是单线程: 4.Redis 中使用了多路复用. Redis 中的
-
ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)
语法: ROW_NUMBER() OVER([ <partition_by_clause>] <order_by_clause>) 备注: ORDER BY子句可确定在特定分区中为行分配唯一ROW_NUMBER的顺序. 参数: <partition_by_clause> 将FROM子句生成的结果集划入应用了ROW_NUMBER函数的分区. <order_by_clause> 确定将ROW_NUMBER值分配给分区中的行的顺序.有关详细信息,请参阅ORDER
-
SQL查询之字段是逗号分隔开的数组如何查询匹配数据问题
目录 字段是逗号分隔开的数组如何查询匹配数据 方式一:CHARINDEX***()***** 方式二:WHERE LIKE Mysql逗号分隔的字段查询 1.like 2.find_in_set 3.regexp 总结 字段是逗号分隔开的数组如何查询匹配数据 方式一:CHARINDEX***()***** SELECT * FROM U_PUR1 WHERE CHARINDEX( ',' + '100306' + ',', ',' + DeptCode + ',' )
-
Python中用PIL库批量给图片加上序号的教程
女友让我给她论文的图片上加上字母序号,本来觉得是个很简单的事情,但那个白底黑字的圆圈序号却难住了我, 试了几个常用的软件,都不行. 后来用 PS + 动作,倒是能搞出来,不过也不容易,正好那天没搞完,于是拿回自己家做,但我的电脑上又没有 PS, 所以就用 python 实现了. 效果图 这里用的图片全是 240X240 的,按文件名的首字母作为序号,PIL 虽然可以计算文字的尺寸,但类似 D 这样的字符依然不能处于圆圈的正中,所以还对个别字符做了偏移设置,本来想用 aggdraw 画圆圈的,能平
随机推荐
- JS调用打印方法设置页眉页脚的实例
- 超级简单的php+mysql留言本源码
- 从0开始学Vue
- 使用CDN的优势以及小贴士分享
- iOS中NSInvocation的基本用法教程
- Scrapy爬虫实例讲解_校花网
- php中utf-8编码下用正则表达式如何匹配汉字
- Go语言如何并发超时处理详解
- jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
- Python 多线程的实例详解
- JS获取URL中参数值(QueryString)的4种方法分享
- use jscript Create a SQL Server database
- 如何改进javascript代码的性能
- js控制表单奇偶行样式的简单方法
- JavaScript实用技巧(一)
- Win 2003系统十例最新配置技巧
- 从MS03-049漏洞利用看调试系统进程(图)
- 如何关闭http Methods中的Trace 提高安全意识
- java在pdf中生成表格的方法
- VC实现批量删除指定文件的方法