SQL--Row_Number() over()的使用
1、语法
--over里面有两个参数
--partition by 用于分割区域 此参数可选
--order by 用于排序 此参数必有
row_number() over(partition by field,order by field desc) as num
2、例子
检索所有的数据
select * from student

2.1、只使用order by 不使用partition by 的情况
--根据分数进行排序作为一个新的索引 不会破坏主键
select name,gender,fenshu, row_number() over(order by fenshu desc) as num from dbo.PeopleInfo

2.2、两个参数都使用 的情况
--先用partition by 根据gender将数据分为两个区域,然后在不同的区域根据分数进行分别排序
select name,gender,fenshu, row_number() over(partition by Gender order by fenshu desc) as num from dbo.PeopleInfo

2.3、分别检索男女里面的最高分
--with as 生成临时表
with temp as
(
select name,gender,fenshu, row_number() over(partition by Gender order by fenshu desc) as num from student
)
--检索两个区域新索引num=1的
select * from temp where num = 1
---首先格式()不能丢 再者from后面一定要是表名 select后面如果检索的是字段那么一定要是字段名 所以()里面的数据一定要as为表名或者字段名
select * from (select name,gender,fenshu, row_number() over(partition by Gender order by fenshu desc) as num from student ) a where num = 1

3、实现分页的功能
---子查询中根据score进行排序后按照顺序生成新的含有num field的新表
---在新的table检索前十条数据作为第一页的数据
select *
from (select p.*,
row_number() over(order by score, pageindex) as num
from pagetable as p)
where num between 0 and 10
引用转载:https://www.cnblogs.com/shuangnet/archive/2013/04/12/3016898.html
SQL--Row_Number() over()的使用的更多相关文章
- jqgrid使用sql row_number进行分页
背景 系统中使用了jqgrid的展示,现在要处理10w+的数据量 现状 使用了全查询的,查询到了10w+的数据放到了datatable中,每次页面刷新需要9秒多,并且传递给另一个dll来处理一些事情. ...
- SQL ROW_NUMBER() OVER函数的基本用法用法
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW ...
- SQL - ROW_NUMBER,Rank 添加序号列
百度的时候查到的博客: http://blog.csdn.net/xsfqh/article/details/6663895-------------------------------------- ...
- SQL ROW_NUMBER() 分页使用示例
ALTER PROC [dbo].[TestProPage] , AS BEGIN SELECT * FROM (SELECT *,ROW_NUMBER() OVER(ORDER BY IndexID ...
- sql ROW_NUMBER() 排序函数 (转)
1使用row_number()函数进行编号:如 select email,customerID, ROW_NUMBER() over(order by psd) as rows from QT_Cus ...
- SQL ROW_NUMBER()实现取组内最新(最大)的数据
SELECT * FROM(select ROW_NUMBER() over(partition BY sid order by cscore desc) as tid,sid,cname,cscor ...
- 【原】SQL ROW_NUMBER() OVER
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) SELECT ROW_NUMBER() OVER(ORDER BY CASE Col ...
- 关于sql row_number,rank,dense_rank,ntile函数
row_number排序最好用它,它依次排名,不出现相同名次,如:1,2,3,4,5 rank出现相同排名,且跳过相同的排名号排下一名,如:1,1,3,4,5, dense_rank出现相同排名,不跳 ...
- SQL row_number() over(partition by函数
1)row_number() over(partition by 列名1 order by 列名2 desc)的使用 表示根据 列名1 分组,然后在分组内部根据 列名2 排序,而此函数计算的值就表示每 ...
- SQL——ROW_NUMBER
版权声明:欢迎转载,请注明出处 https://blog.csdn.net/suneqing/article/details/30250193 语法: ROW_NUMBER() OVER(PARTIT ...
随机推荐
- Luogu4391 [BOI2009]Radio Transmission 无线传输 (KMP)
\(最小循环节\) \(=\) \(lenghth - next[lenghth]\) #include <iostream> #include <cstdio> #inclu ...
- Java SE 18 新增特性
Java SE 18 新增特性 作者:Grey 原文地址:Java SE 18 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- [CISCN2019 华北赛区 Day1 Web2]ikun-1|python反序列化
考点:JWT身份伪造.python pickle反序列化.逻辑漏洞 1.打开之后首页界面直接看到了提示信息,信息如下: 2.那就随便注册一个账号进行登录,然后购买lv6,但是未发现lv6,那就查看下一 ...
- Python代码用在这些地方,其实1行就够了!
摘要:都说 Python 简单快捷,那本篇博客就为大家带来一些实用的 Python 技巧,而且仅需要 1 行代码,就可以解决一些小问题. 本文分享自华为云社区<你猜 1 行Python代码能干什 ...
- C语言小游戏: 推箱子 支线(一)--1
好家伙,考完试了 回顾一下2021 回顾一下某次的作业 妙啊 所以, 做一个推箱子小游戏 1.先去4399找一下关卡灵感 就它了 2.在百度上搜几篇推箱子, 参考其中的"■ ☆"图 ...
- 【python】生成一段连续的日期
date-gen.py import datetime def date_generate(start_date, end_date): print(f'Hi, {start_date}, {end_ ...
- 注解@PostConstruct分析
作用 1.注解@PostConstruct可以添加在类的方法上面,如果这个类被IOC容器托管,那么在对Bean进行初始化前的时候会调用被这个注解修饰的方法 被定义在哪里? 1.被定义在了CommonA ...
- Docker安装MySQL并使用Navicat连接
MySQL简单介绍: MySQL 是一个开放源码的关系数据库管理系统,开发者为瑞典 MySQL AB 公司.目前 MySQL 被广泛地应用在 Internet 上的大中小型网站中.由于其体积小.速度快 ...
- FastDFS配置文件思维导图(内含各配置文件详细参数说明)
- 第四章:Django表单 - 1:使用表单
假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: <form action="/your-name/" method="po ...