SqlServer 分页 ROW_NUMBER() OVER(Order by * DESC ) AS RowNumber


语法如下:

select * from ( 

    select *, ROW_NUMBER() OVER(Order by a.CreateTime DESC ) AS RowNumber from table_name as a 
  ) as b 

  where RowNumber BETWEEN 1 and 5 

实例如下

select * from 
(
select ROW_NUMBER()over(order by DWHYBH ) as rowNo,* from  C60DWYHXX
) as t
where rowNo between 4 and 8
and t.DWJC like '%%'
and t.DWQC like '%%'



所用数据表为:

CREATE TABLE [dbo].[C60DWYHXX](
[DWHYBH] [varchar](20) NOT NULL primary key ,
[DWJC] [varchar](20) NOT NULL,
[DWQC] [varchar](60) NOT NULL,
[DWLB] [int] NOT NULL,
[FRDB] [dbo].[xm] NULL,
[FRDBZSH] [varchar](30) NULL,
[LXR] [dbo].[xm] NULL,
[LXRMOBILE] [dbo].[mobile] NULL,
[QYEMAIL] [varchar](50) NULL,
[DWLANDLINE] [varchar](15) NULL,
[QYWZDZ] [varchar](40) NULL,
[YHMM] [char](32) NULL,
[DJRQ] [date] NULL,
[UniqueID] [int] NOT NULL,
[wTag] [int] NULL,
[StrTag] [varchar](255) NULL,
[RecVersion] [bigint] NULL,
[YHID] [uniqueidentifier] NULL
)



第二部分:自己写的拼接有省市县三级拼接的SQL语句



SELECT ROW_NUMBER()OVER ( order by HYBH) AS rowNo ,b.XM




,(
select xzqhwm from Z21XZQH e where e.XZQH in (select SUBSTRING(f.xzqh,0,3)+'0000' from C02YHJBXX  f 
left join Z21XZQH d on f.XZQH=d.XZQH 
where f.XZQH=d.XZQH and f.YHID=a.YHID  )) as fir
,(
select xzqhwm from Z21XZQH e where e.XZQH in (select SUBSTRING(f.xzqh,0,5)+'00' from C02YHJBXX  f 
left join Z21XZQH d on f.XZQH=d.XZQH 
where f.XZQH=d.XZQH and f.YHID=a.YHID  )) as sec
,(
select XZQHWM 
from C02YHJBXX  c 
left join Z21XZQH d on c.XZQH=d.XZQH 
where c.XZQH=d.XZQH and c.YHID=a.YHID
) as thir


,b.XZQH,a.HYBH,a.YHID,a.UniqueID 
from C70HYGR a left join C02YHJBXX b on a.YHID=b.YHID
where 1=1 




--select SUBSTRING(XZQH,0,3)+'0000' from C02YHJBXX 
--select xzqh from C02YHJBXX


查询结果如下图所示



子查询里嵌套了in关键字。嘻嘻。效率应该不高。但是省的写代码拼接datatable了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值