sqlserve2008无法使用Offset、Limit进行分页,解决方法

sqlserve2008无法使用Offset、Limit进行分页,解决方法

	//按照创建的时间进行排序 ,偏移的数量 :ageNum - 1) * pageSize  查询的数量:pageSize
	common.DB.Order("created_at desc").Offset((pageNum - 1) * pageSize).Limit(pageSize).Find(&role)

使用原生的sql查询语句实现分页功能

SELECT * FROM 
(
 select row_number() over(order by PatLastModified desc) as RowNumber,* from Patient
 )A
 Where RowNumber>1 AND RowNumber<=2
		// 获取分页参数
	pageNum, _ := strconv.Atoi(c.DefaultPostForm("pageNum", "1")) //params参数
	//每一页的数量
	pageSize, _ := strconv.Atoi(c.DefaultPostForm("pageSize", "2")) //params参数
	var patient []model.Patient
		// 前端记录文章的:总条数
	var total int64
	common.DB.Raw("SELECT * FROM ( select row_number() over(order by PatLastModified desc) as RowNumber,* from Patient )A Where RowNumber>=? AND RowNumber<? ",((pageNum-1)*pageSize+1),((pageNum-1)*pageSize+1+pageSize)).Order("created_at desc").Find(&patient)

posted @ 2021-11-23 12:17  成强  阅读(572)  评论(0编辑  收藏  举报