Database | 分页SQL语句

使用数据库SQL语句实现分页功能。

Oracle分页语句

Oracle使用ROWNUM伪列实现分页:

select *
from (
  select "temp".*, ROWNUM "rn"
  from  <表/查询块> "temp"
  where ROWNUM <= currengPage * pageSize )
where "rn" > (currentPage-1) * pageSize

currentPage:当前页数。

pageSize:每页显示的数据条数。

MySql分页语句

MySql使用LIMIT关键字实现分页:

select *
from <表/查询块>
limit (currentPage-1)*pageSize, pageSize

currentPage:当前页数。

pageSize:每页显示的数据条数。

原文地址:https://www.cnblogs.com/liziczh/p/9353057.html

时间: 2024-11-20 00:42:56

Database | 分页SQL语句的相关文章

thinkphp 出错 :1046:No database selected [ SQL语句 ] : 解决

1.thinkphp 用的tp3.2, 使用时候出现 1046:No database selected [ SQL语句 ] : 报错, 一开始的入口index.php代码如下: <?php// 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',t

Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句

最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句.sqlserver分页  第一种分页方法 需用到的参数:  pageSize 每页显示多少条数据  pageNumber 页数 从客户端传来  totalRecouds 表中的总记录数 select count (*) from 表名  totalPages 总页数  totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/

Entity Framewrok 7beta7中不同版本sql server自动生成分页sql语句的问题

在EF中,使用linq进行分页是很方便的,假如我们有一个EMP表,结构如下: public class Emp { [Key] public Guid No { get; set; } public int Age { get; set; } [Required] [StringLength(50)] public string Name { get; set; } } 如果我们进行分页的话,一般使用Skip和Take方法,这里一行最简单的代码如下: mContext.Emp.OrderBy(e

Oracle数据库查询分页SQL语句

Oracle数据库查询分页数据SQL语句: select * from (select a.*,rownum row_num from (select * from mytable t order by t.id desc) a ) b where b.row_num between 1 and 10

几条常见的数据库分页 SQL 语句

SQL Server 先从想要的数据处理加上Row_number()来为数据的row加上一个RowNum作为有多少条数据,然后再用BETWEEN来分隔 with t1 as (select * ,  Row_number() OVER (ORDER BY userId DESC) AS RowNum from users) SELECT *FROM t1 WHERE RowNum BETWEEN ((page-1)*rows+1) AND (page*rows) Oralce数据库 从数据库表中

分页Sql语句

第一种 Top剔除法.去除Top (pageIndex-1)*PageSize SELECT TOP 10* FROM dbo.SBD_EXCHANGE_BILL WHERE EB_ID NOT IN (SELECT TOP (10*1) EB_ID FROM dbo.SBD_EXCHANGE_BILL ORDER BY EB_ID) 第二种 Max剔除法 .去除 小于  Max(PageIndex-1)*pageSize SELECT TOP 10 * FROM dbo.SBD_EXCHANG

分页sql语句优化

MySQL的limit工作原理就是先读取n条记录,然后抛弃前n条,读m条想要的,所以n越大,性能会越差. 一般的分页做法,测试耗时 10.961s SELECT * FROM v_history_data  LIMIT 5000000, 10 优化后,测试耗时 1.943s SELECT * FROM v_history_data INNER JOIN (SELECT fid FROM t_history_data LIMIT 5000000, 10) a USING (fid) 优化前的SQL

关于客户端接口分页sql语句

今天突然翻到为客户端写分页数据的sql,发现其实逻辑不对.按照id降序 当时这样写的: #翻上一页: select 字段 from 表 where id>lastId order by id desc limit pageSize #翻下一页: select 字段 from 表 where id<lastId order by id desc limit pageSize lastId是临近id,即上一页是最上面的id,下一页是最下面的id pageSize是页面条数 显然,逻辑有问题. 如果

springmvc+mybatis 做分页sql 语句

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="ssmy.dao.UserDao"> <r