sql server
select a1,a2,a3,(a1+a2+a3) as a4 from p
其中a4是计算列,怎样在这个表中加一列排名列,这个排名是按照计算列a4来排的?
[解决办法]
select a1,a2,a3,(a1+a2+a3) as a4 from p order by a4
[解决办法]
关键在a4 上
[解决办法]
SELECT ROW_NUMBER() OVER (ORDER BY a4) AS rownumber ,a1,a2,a3
FROM
(SELECT a1,a2,a3,(a1+a2+a3) AS a4 FROM p ) x1
[解决办法]
select a1,a2,a3,(a1+a2+a3) as a4 from porder by a1+a2+a3 desc
[解决办法]
--创建一个临时表
create table #p1
( PaiMing int IDENTITY (1,1) not null,--排名
a1 int ,
a2 int,
a3 int,
a4 int
);
--插入结果
insert into #p1(a1,a2,a3,a4)
select a1,a2,a3,(a1+a2+a3) as a4 from p
order by a1+a2+a3 desc
--查询
select * FROM #P1
[解决办法]
--创建一个临时表
create table #p1
( PaiMing int IDENTITY (1,1) not null,--排名
a1 int ,
a2 int,
a3 int,
a4 int
);
--插入结果
insert into #p1(a1,a2,a3,a4)
select a1,a2,a3,(a1+a2+a3) as a4 from p
order by a1+a2+a3 desc
--查询
select * FROM #P1