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

}

相关推荐
2301_813599555 小时前
HTML图片怎么用UnoCSS对齐_UnoCSS原子化CSS图片对齐实战
jvm·数据库·python
m0_377618235 小时前
c++怎么在不加载整个大文件的情况下获取其SHA256校验值【进阶】
jvm·数据库·python
LN花开富贵5 小时前
【ROS】鱼香ROS2学习笔记二
linux·笔记·python·学习·嵌入式
檬柠wan5 小时前
MySQL-数据库增删改查学习
数据库·学习·mysql
qq_189807035 小时前
CSS如何实现纯CSS树状目录结构_利用-checked与递归思维构建交互节点
jvm·数据库·python
2301_777599375 小时前
Go语言如何做HTTP连接池_Go语言HTTP连接池教程【最新】
jvm·数据库·python
Wy_编程5 小时前
Redis数据类型和常用命令
数据库·redis·缓存
ouliten5 小时前
C++笔记:std::invoke
c++·笔记
Polar__Star6 小时前
Redis如何利用位图快速判断数据存在性
jvm·数据库·python
2301_817672266 小时前
CSS如何实现优雅的间距_使用CSS Grid控制盒模型间隙
jvm·数据库·python