sql分组排序, 分页查询
##sql分组排序,分页查询
#####1.查询每个人,拥有数量最多的两条数据
;WITH tab AS (SELECT row_number() OVER(PARTITION BY name ORDER BY amount desc) AS row,* FROM table)
SELECT * FROM tab WHERE row<=2
####2.查询每门课程不低于80分的学生信息
select * from table GROUP BY name having socre >=80//也可以用排除法 把成绩小于60的学生排除掉
select name from score where name not in(select name from score where score < 60)
####3.排序查询第 20-40
;WITH A AS (
SELECT
row_number() OVER(ORDER BY datetime DESC) AS rowIndex ,*
FROM table where delete=1) SELECT * FROM A WHERE A.rowIndex <= 40 and A.rowIndex >20
//这种方法会把表里的数据全部排序后,进行查询,所以要加上where条件,进行部分排序,不然表数据太多的话,性能下降的很快
或者
SELECT TOP 20 * FROM table
WHERE id NOT IN (
SELECT TOP 20 id FROM table)
或者
SELECT * FROM(
SELECT top 20 * FROM table WHERE id IN
(SELECT TOP 40 id FROM table ORDER BY id)ORDER BY id desc)a ORDER BY id
//这种方法很无语,性能没前两个好
或者
Sql Server 2012 以上 offset and fetch 的特性,很好用
select ID from table order by id OFFSET (10 * (10 -1)) ROW FETCH NEXT 15 rows only
select ID from table order by id OFFSET (pageSize * (pageNum-1)) ROW FETCH NEXT pageSize rows only
sql分组排序, 分页查询相关推荐
- SQL 分组排序后取值
SQL 分组排序后取值 场景前要: 从前有三个班级,每个班级的学生成绩各异,有一天睿智的校长希望知道这一年中,每个班级近一年里所有的学生成绩信息,和查询每个班级近一年里所有第一名的学生成绩信息,故事由 ...
- sql oracle分页查询,【SQL】Oracle分页查询的三种方法-Oracle
[SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 [sql] select * from t_user t where ROWNUM <10; 按照学生ID排名 ...
- 【转】在SQL Server中通过SQL语句实现分页查询
在SQL Server中通过SQL语句实现分页查询 2008年01月06日 星期日 12:28 建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY ...
- oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解
oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...
- mysql数据库(排序,聚合函数,分组,分页查询,union,连接查询,主键外键)
1.排序(order by) select * from stu order by age; -- 默认升序 升序 ASC 降序DESC -- DESC 具有查看表的结构的功能 desc stu; 不 ...
- 【MySql】MySQL排序分页查询数据顺序错乱的原因和解决办法
本文目录 一.问题现象 二.问题复现 2.1 表结构 2.2 数据来源 2.3 问题复现 三.问题原因 四.解决方案 4.1 官网推荐的 order by 索引列 4.2 order by 后多添加一 ...
- SQL数据库(分页查询、DCL 数据控制语言、通用函数、约束、多表查询)
分页查询 语法 select 字段列表 from 表名 limit 起始索引,查询记录数(每页显示的条数) 注意 起始索引 从0开始, 起始索引 = (查询的页码-1)* 每页显示的记录数 1–5-0 ...
- SQL存储过程实现分页查询
1 --分页查询 2 alter proc ShowInfo 3 @Table nvarchar(50),--表.视图 4 @PageSize int,--每页显示数量 5 @PageIndex in ...
- SQL语句:分页查询
分页查询 使用SELECT查询时,如果结果集数据量很大,比如几万行数据,放在一个页面显示的话数据量太大,不如分页显示,每次显示100条 要实现分页功能,实际上就是从结果集中显示第1至100条记录作为第 ...
- 解决es分组后分页查询的问题
今天碰到的问题:es查询中携带了分组查询,导致进行分页操作的时候冲突,不能实现分页功能,后进行改良(抄同事代码),可以实现分页查询 int limit = paging.getLimit(); int ...
最新文章
- java devexpress_Coolite与DevExpress比较
- Sql Server 监控 Job 执行情况
- 《c语言从入门到精通》看书笔记——第12章 位运算
- Java中String、StringBuffer、StringBuilder三者的区别
- STS安装 activiti-designer-5.18.0插件
- 一些牛逼的Python程序整理
- IIS6.0下ASP的新增功能
- synchronized 详解,偏向锁,轻量锁,重量锁
- Silverlight 2.0的了解
- linux cp覆盖每次都有提示
- STM32F1开发指南笔记46----字库原理及汉字库创建
- C++中的万能头文件
- android ogg 播放器,android如何让自己开发的播放器成为可供文件选择的播放器
- WDF框架系列:同步域,运行级别
- ipv6文件服务器,ipv6怎么配置服务器
- 如何切换Echarts主题
- android bea拷贝,从Android开发中学到一些东西
- 时间、日期的一些用法
- iPhone X适配之启动图适配教程
- 推荐几个H5、app制作开发工具