sql使用row_number()查询标记行号
背景:
在分页功能中,记录需分页显示,需要row_number()函数标记行号。
数据表:
排序之前数据表显示:
sql语句:
select ROW_NUMBER() over(order by id) as RowNum,Name,Val from T1
检索结果:
注意:Leslie的ID为Null,经过排序之后,rows却升为了首位。
常见错误:列名RowNum失效。
解释:在sql中热名称(即刚定的名称RowNum)不能马上使用,需要包一层查询。
比如说:实现分页显示,只想查询1-5行的结果,sql语句如下:
select ROW_NUMBER() over(order by id) as rows,Name,Val from T1 where rows between and
解决方案:
select * from
(select ROW_NUMBER() over(order by id) as rows,Name,Val from T1) U
where rows between and ;
也就是:
with A as
(
select ROW_NUMBER() over(order by id) as rows,Name,Val from T1
)
select * from A where A.rows between and ;
检索结果:
参考资料:热名称
在某些情况下,我们希望指定RowNum的排序方式,比如把热门城市(如北京、上海等)排在靠前的位置。
这时需要组合case...when...then的方式来使用Row_Number()函数。sql语句如下:
select ROW_NUMBER() over(
order by
case Name
when 'Leslie' then
when 'Lily' then
else end asc)as RowNum,Name,Val from T1
检索结果如下:
sql使用row_number()查询标记行号的更多相关文章
- SQL查询显示行号、随机查询、取指定行数据
转自:walkingp 1.显示行号 如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用 ...
- SQL 分组后取最小行号记录
本示例测试两个表联接查询后,分组并取分组后的最小行号记录 测试表: tb1表结构如下: CREATE TABLE [dbo].[tb1]( ) NOT NULL, ) NULL, ) NULL, CO ...
- tsql 通过row_number() over() 产生行号
先按userIP分组,再按时间排序,最后编号. select row_number() over (partition by UserIp order by insertTime),* from us ...
- MySQL查询获取行号rownum
MySQL中可以使用变量产生行号,下面是2个简单例子: 使用工具:MySQL Workbench 说明:表heyf_10中字段,empid(员工工号).deptid(部门编号).salary(薪资): ...
- MYSQL行号
mysql 实现行号的方法——如何获取当前记录所在行号 - senly - 博客园http://www.cnblogs.com/xinlei/archive/2011/12/16/2290349.ht ...
- SQL随机查询,显示行号,查询数据段
1.显示行号 如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用临时表,但在SQL Se ...
- sql server2005查询分析器显示行号方法
工具栏:工具--选项--文本编辑器---所有语言--右边复选框 行号 打上勾就ok了
- sql查询分析器中显示行号
-- 工具-> -- 选项-> -- 文本编辑器-> -- 所有语言-> -- 常规-> -- 显示-> -- 行号
- MYSQL获得查询记录的行号
对于获得查询记录的行号这一功能,Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的ROWNUM,MS SQL Server 则在 2005 版本中提供了ROW_NUMBER()函数. ...
随机推荐
- C++类 单冒号
1.继承 class Base { }; class Derived : public Base { }; 示列: class Base { public: int a=10; }; class ...
- April Fools Contest 2017 F
Description You are developing a new feature for the website which sells airline tickets: being able ...
- Building Forest CodeForces - 195E
Building Forest CodeForces - 195E 这题意真是难懂啊...话说"An oriented weighted forest is an acyclic weigh ...
- 搜狐前端css常用命名
- PV,UV,IP概念
PV是网站分析的一个术语,用以衡量网站用户访问的网页的数量.对于广告主,PV值可预期它可以带来多少广告收入.一般来说,PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量,如同一个来访者 ...
- MySQLDump在使用之前一定要想到的事情 [转载]
转载于:http://blog.itpub.net/29254281/viewspace-1392757/ MySQLDump经常用于迁移数据和备份. 下面创建实验数据,两个数据库和若干表create ...
- PowerShell和Bash的介绍
PowerShell是运行在windows平台的脚本,而Bash是运行在linux平台的脚本 现在bash能做的事情,PowerShell也能做,PowerShell的强大之处是它可以管理window ...
- P2614 计算器弹琴
题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参看洛谷P2549) 小A发现了一个计算器的另一个隐藏功能——弹琴. http://www.bilibili.com/vide ...
- AJPFX关于Java内部类及其实例化
public class Outer { private int size; public class Inner { private int counter = 10; ...
- 在js中怎样获得checkbox里选中的多个值?(jQuery)
思路:利用name属性值获取checkbox对象,然后循环判断checked属性(true表示被选中,false表示未选中).下面进行实例演示: 1.HTML结构 <input type=&qu ...