Simulating ORACLE ROWNUM in SQL Server:
Here is the approach you can use to generate a pseudo row number in SQL Server.
The table format and data:
select * from A
c1 c2
-----
101 0
102 0
103 0
(3 row(s) affected)
Approach 1:
select rank=count(*),a.c1,a.c2 from A a ,A b
where a.c1+a.c2 > = b.c1+b.c2
group by a.c1,a.c2
rank c1 c2
-----------
1 101 0
2 102 0
3 103 0
(3 row(s) affected)
Approach 2 :
select rank() OVER (ORDER BY a.c1,a.c2) as rank,a.c1,a.c2
from A a
order by rank
rank c1 c2
--------------------
1 101 0
2 102 0
3 103 0
(3 row(s) affected)
Finally very very simple method:
drop table #T
Select IDENTITY(int, 1,1) id, * INTO #T from A
Select * from #T
id c1 c2
-----------
1 101 0
2 102 0
3 103 0
(3 row(s) affected)
Here is the approach you can use to generate a pseudo row number in SQL Server.
The table format and data:
select * from A
c1 c2
-----
101 0
102 0
103 0
(3 row(s) affected)
Approach 1:
select rank=count(*),a.c1,a.c2 from A a ,A b
where a.c1+a.c2 > = b.c1+b.c2
group by a.c1,a.c2
rank c1 c2
-----------
1 101 0
2 102 0
3 103 0
(3 row(s) affected)
Approach 2 :
select rank() OVER (ORDER BY a.c1,a.c2) as rank,a.c1,a.c2
from A a
order by rank
rank c1 c2
--------------------
1 101 0
2 102 0
3 103 0
(3 row(s) affected)
Finally very very simple method:
drop table #T
Select IDENTITY(int, 1,1) id, * INTO #T from A
Select * from #T
id c1 c2
-----------
1 101 0
2 102 0
3 103 0
(3 row(s) affected)