tableA
id 物资代码 比价表编号 日期 计划编号
1 1010101 bs101-014 2009-01-01 01
2 1010102 bs101-014 2009-01-01 02
3 1010103 bs101-014 2009-01-01 03
4 1020101 bs102-020 2009-02-01 04
5 1020102 bs102-020 2009-02-01 05
6 1030101 bs103-101 2009-03-01 06
7 1010101 bs101-015 2009-04-01 07
8 1020101 bs102-025 2009-04-01 08
......想要达到的目的:以比价表编号分组,并以日期降序排列,查询范围:物资代码like '101%' or like '102%',以N条记录为一页.要101或102开头的物资混在一起参与排序.
本人出现的问题:如果查询范围单独为like '101%'排序成功,加上or like '102%',翻到第二页时,仍然会出现第一页的记录.
我只要取"比价表编号"和"日期"两列.
id 物资代码 比价表编号 日期 计划编号
1 1010101 bs101-014 2009-01-01 01
2 1010102 bs101-014 2009-01-01 02
3 1010103 bs101-014 2009-01-01 03
4 1020101 bs102-020 2009-02-01 04
5 1020102 bs102-020 2009-02-01 05
6 1030101 bs103-101 2009-03-01 06
7 1010101 bs101-015 2009-04-01 07
8 1020101 bs102-025 2009-04-01 08
......想要达到的目的:以比价表编号分组,并以日期降序排列,查询范围:物资代码like '101%' or like '102%',以N条记录为一页.要101或102开头的物资混在一起参与排序.
本人出现的问题:如果查询范围单独为like '101%'排序成功,加上or like '102%',翻到第二页时,仍然会出现第一页的记录.
我只要取"比价表编号"和"日期"两列.
set @pagesize=
set @pagenum=with cte as
(
select 比价表编号,日期,ROW_NUMBER(order by 比价表编号,日期 desc) as rn
from tableA where 物资代码 like '[101,102]%'
)select 比价表编号,日期 from cte where rn>@pagesize*(@pagenum-1)
and rn<=@pagesize*@pagenum
或者直接用2楼牛人的