有关一条查询语句 40z184931481]

发布时间:2014-1-1 0:09:47
来源:分享查询网

create table #temp10 (ddbh varchar(32), cpbh varchar(32) ) insert into #temp10 values('D1106-08774','110241001') insert into #temp10 values('D1106-08774','120111001') insert into #temp10 values('D1106-08775','120111001') 求 D1106-08774   1 110241001 D1106-08774   2 120111001 D1106-08775   1 120111001 结果

select *,rid=row_number() over (partition by ddbh order by getdate()) from tb

2000环境下

create table #temp10 (ddbh varchar(32), cpbh varchar(32) ) insert into #temp10 values('D1106-08774','110241001') insert into #temp10 values('D1106-08774','120111001') insert into #temp10 values('D1106-08775','120111001') select *,no=ROW_NUMBER()over(partition by ddbh order by getdate()) from #temp10 /* ddbh                             cpbh                             no -------------------------------- -------------------------------- -------------------- D1106-08774                      110241001                        1 D1106-08774                      120111001                        2 D1106-08775                      120111001                        1

--2005 select *,rid=row_number() over (partition by ddbh order by getdate()) from #temp10 --2000 select *,px=indentity(int,1,1)     into #tb from #temp10 select ddbh,cpbh,rid=(select count(*) from #tb where px <= t.px) from #tb t

2000 看4楼!

--2000 select *,px=identity(int,1,1)  --不好意思,字打错了。identity     into #tb from #temp10 select ddbh,cpbh,rid=(select count(*) from #tb where px <= t.px) from #tb t

create table #temp10 (ddbh varchar(32), cpbh varchar(32) ) insert into #temp10 values('D1106-08774','110241001') insert into #temp10 values('D1106-08774','120111001') insert into #temp10 values('D1106-08775','120111001') --2000 select *,no=(select COUNT(1) from #temp10 where ddbh=a.ddbh and cpbh<=a.cpbh) from #temp10 a /* ddbh                             cpbh                             no -------------------------------- -------------------------------- -------------------- D1106-08774                      110241001                        1 D1106-08774                      120111001                        2 D1106-08775                      120111001                        1

楼上的都是05下的

6楼是2000的,7楼的也是。只有row_number的那几楼是2005的。

select  *,no=(select COUNT(1) from #temp10 where ddbh=a.ddbh and cpbh<=a.cpbh) from  #temp10 a

create table #temp10 (ddbh varchar(32), cpbh varchar(32) ) insert into #temp10 values('D1106-08774','110241001') insert into #temp10 values('D1106-08774','120111001') insert into #temp10 values('D1106-08775','120111001') select ddbh,(select count(*) from #temp10 a               where a.ddbh=#temp10.ddbh              and a.cpbh<=#temp10.cpbh) as id,cpbh  from #temp10 /* ddbh                             id          cpbh          -------------------------------- ----------- -------------- D1106-08774                      1           110241001 D1106-08774                      2           120111001 D1106-08775                      1           120111001 (所影响的行数为 3 行) */

返回顶部
查看电脑版