MySql高效分页SQL

public string GetQuerySql(ITSPAreaQueryModel model, object state = null)

{

var sqlBuilder = new StringBuilder(850);

sqlBuilder.AppendFormat(@"{0}

/*---Script For Select Top N Rows---*/

SELECT SQL_CALC_FOUND_ROWS

a.Id,

a.AreaName ,

a.Location ,

a.AreaHead ,

a.Remark ,

a.RowState,

a.CreateOn,

a.CreateBy,

a.UpdateOn,

a.UpdateBy

FROM ITSPArea as a", _SqlComment);

if (model.RowState == null)

{

sqlBuilder.AppendFormat("{0}WHERE a.RowState IN ( 0,1 )", Environment.NewLine);

}

else

{

sqlBuilder.AppendFormat("{0}WHERE a.RowState={1}", Environment.NewLine, model.RowState);

}

if (!string.IsNullOrEmpty(model.AreaName))

{

sqlBuilder.AppendFormat("{0}and a.AreaName=@AreaName", Environment.NewLine);

}

if (!string.IsNullOrEmpty(model.AreaHead))

{

sqlBuilder.AppendFormat("{0}and a.AreaHead=@AreaHead", Environment.NewLine);

}

sqlBuilder.AppendFormat("{0}order by a.CreateOn desc", Environment.NewLine);

sqlBuilder.AppendFormat("{0}LIMIT {1},{2};", Environment.NewLine, (model.PageIndex - 1) * model.PageSize, model.PageSize);

sqlBuilder.AppendFormat("{0}SELECT FOUND_ROWS()", Environment.NewLine);

return sqlBuilder.ToString();

}

相关推荐
段一凡-华北理工大学10 分钟前
高炉能源系统智能化:热风炉、煤气与极致能效~系列文章02:走进热风炉:蓄热、换炉、送风的工艺机理
大数据·数据库·能源·高炉能源管控·热风炉·热风炉工作原理
曾庆睿15 分钟前
计算机图形学入门笔记_GAMES101_Lecture01-02
笔记·计算机图形学
coolwest17 分钟前
某游戏辅助完整破解复盘报告(仅用于本人学习记录)
笔记
紧跟先前的步伐17 分钟前
Go AI Agent 实战 18|Tool Calling 的基本原理与完整执行流程
前端·数据库·人工智能·ai·golang·1024程序员节
EnCi Zheng28 分钟前
AI Agent工具误调用怎么解决-从参数校验到高危二次确认的四层工程防线
大数据·数据库·人工智能
Go Work29 分钟前
npm 卡在 Step 7 七分钟,翻上去四行才看到 E404
经验分享·笔记
代码山河33 分钟前
调试技巧:IDEA Debug模式入门与使用
java·学习·架构·教程·面向对象·项目
外收内放38 分钟前
FastAPI猜字谜实战(5):会话管理
开发语言·python·学习·fastapi
Hello World . .39 分钟前
【嵌入式学习笔记 Day 1】
linux·数据结构·笔记
小向是个Der40 分钟前
P02_你的变量住在哪里_教学文档
经验分享·笔记·stm32·单片机