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

}

相关推荐
HitpointNetSuite1 小时前
连锁餐饮行业ERP如何选择:为何Oracle NetSuite成为增长新引擎
大数据·运维·数据库·oracle·netsuite
冻咸鱼2 小时前
MySQL基础知识大全
数据库·mysql·oracle
emma羊羊2 小时前
【Redis】
数据库·redis·缓存
im_AMBER2 小时前
Leetcode 38
笔记·学习·算法·leetcode
koo3643 小时前
李宏毅机器学习笔记32
人工智能·笔记·机器学习
正经教主4 小时前
【Trae+AI】和Trae学习搭建App_01(附加可略过):测试Trae的后端功能
学习·app
程序猿小蒜5 小时前
基于springboot的车辆管理系统设计与实现
java·数据库·spring boot·后端·spring·oracle
桃子不吃李子5 小时前
axios的二次封装
前端·学习·axios
数据库知识分享者小北5 小时前
如何构建企业级数据分析助手:Data Agent 开发实践
数据库·阿里云·1024程序员节·dataagent
明明真系叻5 小时前
最优传输理论学习(1)+PINN文献阅读
深度学习·学习