首页 > 数据库 >Sql 分页查询

Sql 分页查询

时间:2024-04-13 11:14:37浏览次数:16  
标签:PageIndex return 分页 PageSize get int 查询 Sql public

SELECT * FROM 
(SELECT *,ROW_NUMBER() OVER (ORDER BY 会员编号 DESC) AS RowNumber FROM Mold_List
  ) T 
WHERE T.RowNumber BETWEEN @PageSize*(@StartPage-1)+1 AND  @PageSize*@StartPage 

辅助类:

namespace MvcMovie.Utility
{
    /// <summary>
    /// 分页帮助类
    /// </summary>
    public class PageHelper
    {
        public PageHelper(int pageSize, int pageIndex)
        {
            this.PageSize = pageSize;
            this.PageIndex = pageIndex;
        }
        private long _count = 0;
        /// <summary>
        /// 总记录数
        /// </summary>
        public long Count
        {
            get
            {
                return _count;
            }
            set
            {
                _count = value;
                TotalPage = CalacTotalPage(value);
            }
        }
        /// <summary>
        /// 总页数
        /// </summary>
        public int TotalPage { get; private set; } = 1;
        /// <summary>
        /// 当前页
        /// </summary>
        public int PageIndex { get; set; } = 1;
        /// <summary>
        /// 页大小(一页显示的记录条数)
        /// </summary>
        public int PageSize { get; set; } = 10;
        /// <summary>
        /// 计算总页数
        /// </summary>
        /// <param name="count">总记录数</param>
        /// <returns></returns>
        public int CalacTotalPage(long count)
        {
            return (int)Math.Ceiling(count * 1.0 / PageSize);
        }
        /// <summary>
        /// 页开始记录位置
        /// </summary>
        public int StartIndex
        {
            get
            {
                return (int)(PageIndex - 1) * PageSize;
            }
        }
        /// <summary>
        /// 是否有上一页
        /// </summary>
        /// <returns></returns>
        public bool HasPrevious
        {
            get
            {
                return PageIndex > 1;
            }
        }
        /// <summary>
        /// 是否有下一页
        /// </summary>
        /// <returns></returns>
        public bool HasNext
        {
            get
            {
                return PageIndex < TotalPage;
            }
        }
        /// <summary>
        /// 上一页页码
        /// </summary>
        public int PreviousPageIndex
        {
            get
            {
                int index = PageIndex - 1;
                if (index > 0)
                {
                    return index;
                }
                return 1;
            }
        }
        /// <summary>
        /// 下一页页码
        /// </summary>
        public int NextPageIndex
        {
            get
            {
                int index = PageIndex + 1;
                if (index <= TotalPage)
                {
                    return index;
                }
                return TotalPage;
            }
        }

    }
}

  

  

标签:PageIndex,return,分页,PageSize,get,int,查询,Sql,public
From: https://www.cnblogs.com/friend/p/18132586

相关文章

  • Sql Server对等复制中将截断字符串或二进制数据。 (源: MSSQLServer,错误号: 8152)
    近期发现好好的复制突然出现了报错,导致备份库数据不一致的问题,如下 一直以为是发布数据库进行了DDL操作没有同步到这边来,导致数据同步时长度不够导致的,结果把表都检查了一遍也没发现啥不对劲最后只好去找相关资料,结果找到了官方资料(目前老项目用的14版本) 这边有几个......
  • [转帖]SQL Server简洁查询正在运行的进程
    SQLServer简洁查询正在运行的进程通常我们可以使用sp_who2我们希望更加简洁的信息,下面这个查询使用系统表sys.sysprocesses,以及sys.dm_exec_sql_text做OUTERAPPLY.T-SQL是这样的:SELECTspid,blocked,DB_NAME(sp.dbid)ASDBName,program_name,waitresource,last......
  • 模拟SQLserver死锁现象
    模拟SQLserver死锁现象 SQLServer死锁是指两个或多个事务相互等待对方持有的资源而无法继续执行的情况。当两个或多个事务都持有一些资源并且试图获取其他事务持有的资源时,可能会发生死锁。这种情况下,每个事务都在等待另一个事务释放其所需的资源,导致所有涉及的事务都无法继......
  • MySQL事务状态判断
    MySQL事务状态判断前置MySQL的默认隔离级别是:可重复读(REPEATABLEREAD)可重复读隔离级别下,事务中的SELECT操作会看到快照数据,也就是事务开始时刻的数据状态。此隔离级别可以防止脏读和不可重复读,但可能会有幻读的问题出现。问题描述表结构createtabledjj(namev......
  • MySQL 04-EMOJI 表情与 UTF8MB4 的故事
    拓展阅读MySQLViewMySQLtruncatetable与delete清空表的区别和坑MySQLRulermysql日常开发规范MySQLdatetimetimestamp以及如何自动更新,如何实现范围查询MySQL06mysql如何实现类似oracle的mergeintoMySQL05MySQL入门教程(MySQLtutorialbook)MySQL04-E......
  • Oracle 分页的SQL语句优化
    ORACLE的分页SQL,基本上在绝大部分的业务系统上都有这种SQL。处理这种SQL,基本上要用到两点:(1).利用rownum的COUNTSTOPKEY特性.(2).利用索引的排序特性,消除sortorderby. 今天,同事发给我两个SQL。执行计划大概如下:  第1个SQL的执行计划,没有出现COUNTSTOPKEY,结合......
  • java代码审计-sqli
    Java代码审计-sqli0x01漏洞挖掘jdbc在上古时期,人们往往这么从数据库获取数据。publicUsergetUserById(Stringid)throwsSQLException{Connectionconnection=JDBCTOOLS.getConnection(); Stringsql="selectid,usernamefromuserwhereid="+id; State......
  • linux环境安装——mysql集群安装复习——主从复制
    1、首先安装mysql: mkdir-p/soft/mysql8mkdir-p/evir/mysql8执行上传文件操作rpm-qa|grepmariadb查询是否有这个文件rpm-e--nodepsmariadb-libs进行删除rpm-qa|grepmariadb查询这个文件是否删干净tar-xf/soft/my......
  • SQL SERVER 从入门到精通 第5版 第三篇 高级应用 第10章 存储过程 读书笔记
    第10章存储过程 >.存储过程概述存储过程(storedprocedure)是预编译SQL语句的集合,这些语句存储在一个名称下并作为一个单元来处理.存储过程取代了传统的逐条执行SQL语句的方式.一个存储过程中可以包含增删改查等一系列SQL语句,当这个存储过程被调用时,这些操作也......
  • 从Oracle迁移到PostgreSQL的十大理由
    从Oracle迁移到PostgreSQL的十大理由PostgreSQLChina官方微信:开源软件联盟PostgreSQL分会 19人赞同了该文章作者:保罗·纳穆格PaulNamuag能够担任各种职务,受益于在过去的18年中有机会使用各种技术。他从2005年开始担任图形艺术家和MS.Net开发人员......