sql查询时增加自动编号和分页
查询时加序号
a:没有主键的情形: Select identity(int,1,1) as
iid,* into #tmp from TableName
Select * from #tmp
Drop
table #tmp b:有主键的情形: Select (Select sum(1) from
TableName where KeyField <= a.KeyField) as iid,* from
TableName a eg:
select (select sum(1) from user_Admin where
id<=a.id) as ID,id,displayName from user_Admin a order by a.ID asc SELECT 序号= (SELECT COUNT(客户编号) FROM 客户 AS LiMing WHERE LiMing.客户编号<= Chang.客户编号), 客户编号, 公司名称 FROM 客户 AS Chang ORDER BY 1; GO
/* 方法二: 使用SQL Server 2005 独有的RANK() OVER () 语法*/ SELECT RANK() OVER (ORDER BY 客户编号 DESC) AS 序号, 客户编号, 公司名称 FROM 客户; GO
/* 方法三*/ SELECT 序号= COUNT(*), LiMing.客户编号, LiMing.公司名称 FROM 客户 AS LiMing, 客户AS Chang WHERE LiMing.客户编号>= Chang.客户编号 GROUP BY LiMing.客户编号, LiMing.公司名称 ORDER BY 序号; GO
/* 方法四 建立一个「自动编号」的字段,然后将数据新增至一个区域性暂存数据表, 然后由该区域性暂存数据表中,将数据选取出来,最后删除该区域性暂存数据表 */ SELECT 序号= IDENTITY(INT,1,1), 管道, 程序语言, 讲师, 资历 INTO #LiMing FROM 问券调查一; GO SELECT * FROM #LiMing; GO DROP TABLE #LiMing; GO
/* 方法五 使用 SQL Server 2005 独有的ROW_NUMBER() OVER () 语法 搭配 CTE (一般数据表表达式,就是 WITH 那段语法)选取序号2 ~ 4 的数据 */ WITH 排序后的图书 AS (SELECT ROW_NUMBER() OVER (ORDER BY 客户编号 DESC) AS 序号, 客户编号, 公司名称 FROM 客户) SELECT * FROM 排序后的图书 WHERE 序号 BETWEEN 2 AND 4; GO ------------分页使用--------------------------- SELECT RANK() OVER (ORDER BY id asc) AS no,* into #temp FROM Bbs_reply select * from #temp where no between 1 and 100 drop table #temp -------------------------------序号
给查询出的SQL记录添加序号列,解决方法有以下两种 第一:
select ROW_NUMBER() OVER (ORDER BY a.字段 ASC) AS XUHAO,a.* from table a1
(table 为表名,字段为表a中的字段名) 第二:
select RANK() OVER (ORDER BY a.字段 ASC) AS XUHAO,a.* from table a1
(table 为表名,字段为表a中的字段名)
sql查询时增加自动编号和分页的更多相关文章
- oracle中使用sql查询时字段为空则赋值默认
转至:http://www.th7.cn/db/Oracle/201501/86125.shtml oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl ...
- 使用HIBERNATE的SQL查询并将结果集自动转换成POJO
在某些场合下,我们可能想使用HIBERNATE的框架提供的SQL查询接口,但是,由于实体没有做映射,HIBERNATE不能把结果集转换成你想要的List<POJO>,本文讨论如何在这种情况 ...
- 【转】SQL 2008 Insert返回自动编号id三种方法比较
SQL Server 2008中,insert数据的时候返回自动编号的id,有三种方法实现SCOPE_IDENTITY.IDENT_CURRENT 和 @@IDENTITY, 它们都返回插入到 IDE ...
- SQL查询结果增加序列号
SQL查询记录中增加序列号 根据学生成绩在查询结果中增加排名字段: 1.SELECT ROW_NUMBER() OVER (ORDER BY SCORE ASC) AS RANK,NAME,SCORE ...
- SQL Server 重新恢复自动编号列的序号
1. truncate table tablename2. DBCC CHECKIDENT (tablename,reseed,1) truncate命令不但会清除所有的数据,还会将IDENTIT ...
- SQL第三课-自动编号与初涉约束
自动编号:auto_increment一张数据表中,要设定字段的唯一性,就会用到编号,确保编号的唯一性是避免重名和数据混乱的一种方式.主键,一张表只能并只有一个.在创建字段表时,指定 PRIMARY ...
- PL/SQL Developer中输入SQL语句时如何自动提示字段
在PL/SQL Developer中编写sql语句时,如果无法自动提示字段那是一件痛苦的事情,工作效率又低,在此演示下如何在PL/SQL Developer工具中自动提示字段,让开发者省时又省心,操作 ...
- EF core的原生SQL查询以及用EF core进行分页查询遇到的问题
在用.net core进行数据库访问,需要处理一些比较复杂的查询,就不得不用原生的SQL查询了,然而EF Core 和EF6 的原生sql查询存在很大的差异. 在EF6中我们用SqlQuery和Exe ...
- sql查询时,根据特定的条件给表的某一个字段赋值
先讲一下需要这个需求的情景: 这是一个招聘求职项目遇到的一个问题.个人A向公司B的职位投递简历后,公司B会收到个人A的简历;但是A投递后把简历删除,公司收到的简历信箱 还有这个简历,但却不能看了. 原 ...
随机推荐
- vue做页面按钮权限--分析
import * as types from '../mutation-types' const state = { btnCode: getBtnCode(), } const mutations ...
- es6 学习小计
es6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这称之为解构:
- 忘记树莓派pi账户密码简单重设
网上搜到的教程多是要修改cmdline.txt,非常繁琐,其实树莓派本身的root账户还没有启用,在root账户下重设pi的密码是很容易的,下面教你启用root账户,一切都需要在树莓派本机上操作 打开 ...
- Python unittest(PyUnit)单元测试框架
PyUnit(unittest) 是 Python 自带的单元测试框架,用于编写和运行可重复的测试.PyUnit 是 xUnit 体系的一个成员,xUnit 是众多测试框架的总称,PyUnit 主要用 ...
- 【转】【bat】Bat 中特殊符号
批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @\\隐藏命令的回显. ~\\在for中表示使用增强的变量扩展:在set中表示使用扩展环境变量指定位置的字符串:在set ...
- C# 拷贝文件夹到指定文件夹并更改文件夹名称
using System; using System.Collections.Generic; using System.Text; namespace ClientPrintServer.Tools ...
- 【数据结构】7.java源码关于LinkedList
关于LinkedList的源码关注点 1.从底层数据结构,扩容策略2.LinkedList的增删改查3.特殊处理重点关注4.遍历的速度,随机访问和iterator访问效率对比 1.从底层数据结构,扩容 ...
- k8s集群node节点一直NotReady, 且node节点(并非master)的kubelet报错:Unable to update cni config: No networks found in /etc/cni/net.d
若要转载本文,请务必声明出处:https://www.cnblogs.com/zhongyuanzhao000/p/11401031.html 问题: 集群搭建的过程中,master节点初始化成功,但 ...
- Drools7 Hello Wrold 入门详细步骤--系列01课
一.什么叫规则引擎?规则--->写在文档上引擎--->在java代码上,引用这个文档上的规则 二.drools规则引擎有什么用?简单来说就是将多变的规则,从业务代码中剥离出来(当规则变了之 ...
- Redis 多级缓存架构和数据库与缓存双写不一致问题
采用三级缓存:nginx本地缓存+redis分布式缓存+tomcat堆缓存的多级缓存架构 时效性要求非常高的数据:库存 一般来说,显示的库存,都是时效性要求会相对高一些,因为随着商品的不断的交易,库存 ...