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();

}

相关推荐
还是做不到嘛\.20 分钟前
Dvwa靶场-SQL Injection
数据库·sql·web安全
楼田莉子1 小时前
MySQL数据库:MySQL的数据类型
数据库·学习·mysql
2401_879693871 小时前
数据分析与科学计算
jvm·数据库·python
小陈phd1 小时前
系统架构师学习笔记(三)——计算机体系结构之存储系统
笔记·学习·系统架构
LJianK12 小时前
java封装
java·前端·数据库
Rsun045512 小时前
AI智能体学习路线
人工智能·学习
feasibility.2 小时前
SSH Agent Forwarding 与 tmux 排障笔记
linux·运维·服务器·经验分享·笔记·ssh
charlie1145141912 小时前
通用GUI编程技术——Win32 原生编程实战(十六)——Visual Studio 资源编辑器使用指南
开发语言·c++·ide·学习·gui·visual studio·win32
知识分享小能手2 小时前
MongoDB入门学习教程,从入门到精通,MongoDB查询(4)
数据库·学习·mongodb
weixin_409383122 小时前
godot等轴视角tilemaplayer的学习 isocheric的素材xy大小怎么调
学习·游戏引擎·godot