34,587
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE jf
(
name VARCHAR(10),
integral int
)
GO
INSERT INTO jf
SELECT 'aa', 100 UNION
SELECT 'bb', 200 UNION
SELECT 'cc', 150 UNION
SELECT 'dd', 180
SELECT a.name,a.integral,COUNT(c.name) AS rank
FROM jf as a,jf AS c
WHERE a.name = 'cc' AND c.integral >= a.integral
GROUP BY a.name,a.integral
select ( select count(*)
from jf p1
where p1.name <= p2.name) as rowNumber,
* from jf p2
order by rowNumber
select ( select count(*)
from tb_product p1
where p1.proid <= p2.proid) as rowNumber,
* from tb_product p2
order by rowNumber
select * from (select *,rank() over (order by integral desc) as ordernum from jf)c where name='cc'
create table jf
(name varchar(10),
integral integer
)
insert into jf(name,integral)
select 'aa',100
union
select 'bb',200
union
select 'cc',150
union
select 'dd',180
select *,rank() over (order by integral ) as ordernum from jf where name='cc'
seelct rankcc from(
select rankcc=row_number()over(order by getdate()),* from tbl
)a where name='cc'
create table jf(name varchar(20),integral int)
insert into jf(name,integral)
select 'aa',100
union
select 'bb',200
union
select 'cc',150
union
select 'dd',180
SELECT *,Place=(SELECT COUNT(DISTINCT integral) FROM jf WHERE integral>=a.integral)
FROM jf a
ORDER BY Place
/*
name integral place
bb 200 1
dd 180 2
cc 150 3
aa 100 4
*/
select nn
from (
select row_number() over(order by getdate()) as nn,name,integral from TB)T
where name ='CC'