这个语句中between 1and 20不能去除,导致只查询1至20条数据,但是我的查询结果是在20条意外结果查询不出来,怎么办
你把where条件写在只查询里面,也就是括号括起来的那个select中
说的不太严谨
你把t.c_reporter like '%werer%'放在子查询里面
select * from (select ROW_NUMBER()over(order by 列 desc) as num
,列,列,from 表1 join 表2 on 列 = 列)t where t.num between :num1 and :num2
你这between 1and 20 肯定不能写死啊,你带个参数,第一页就 (1-1)*20 and 1*20 第二页就 (2-1)*20 and 2*2 第三页就(3-1)*20 and 3*20
其实是自己的问题,between 1and 20本身就是范围查询,又要分页又要全部查询,本身逻辑就有问题,后来我去掉了between 1and 20先查询出符合条件的在进行分页,不过也感谢你们的回复