生成名次的SQL

转载 2004年10月06日 14:27:00

create database test1
go
use test1
go
create table Test
(F1 char(10),
 F2 char(10))

--测试表

insert into Test
select 'a' F1,'1' F2
union
select 'b' F1,'2' F2
union
select 'c' F1,'3' F2
union
select 'd' F1,'3' F2
union
select 'e' F1,'4' F2
union
select 'f' F1,'4' F2
union
select 'g' F1,'4' F2
union
select 'h' F1,'7' F2
union
select 'i' F1,'9' F2

--插入数据

select id=identity(int,0,1),f1,f2 into #t from test order by F2 desc

select a.f1,a.f2,a.id+1-cast(id-cc-minn as Char(10)) as  [名次]
from #t a,
(select f2,cc,minn  from
  (select  f2,count(*)as cc,min(id)-count(*) as minn from #t group by f2) t)b
where a.f2=b.f2
order by a.f2 desc

--测试

drop table #t
drop table test

用SQL计算名次

   几天前在CSDN回答别人的问题: SQL怎样取得指定人的名次 ,现将结果招录下来。 一、测试数据: select A.* into #tmp_Ma...
  • nhconch
  • nhconch
  • 2005年03月16日 17:38
  • 3306

两条关于生成排名的SQL语句

两条关于生成排名的SQL语句: select name,score,(select count(*) from t where score>a.score)+1 from t a order by s...
  • cuijian_ok
  • cuijian_ok
  • 2005年03月21日 09:36
  • 2128

SQL 获取排名排序后的名次

一、查出所有用户和他们的分数排名(sql语句如下) /* 查出所有用户和他们的分数排名 * id string 用户id * s...
  • u014068781
  • u014068781
  • 2017年06月16日 19:56
  • 1086

增加排名列SQL语句(需排名的列值相等时排名相同)

SQL 查询数据时按某列排序后增加排名列,需排名的列值相等时排名相同,即如需排名列数组为:9,9,8,7,7,6     添加的排名列数组需要显示为两种:   第一种:1,1,3,4,4,6 (这...
  • wanderball
  • wanderball
  • 2012年03月12日 11:24
  • 2528

SQL成绩统计分析—排名问题

ROW_NUMBER(),RANK(),DENSE_RANK(),NTILE()最近写了近半个月的成绩统计服务 , 被SQL折磨半死,下面介绍下在SQL成绩统计分析中遇到的一些小问题,首先介绍下成绩分...
  • u013419838
  • u013419838
  • 2015年07月18日 15:51
  • 6951

SQL的老题目:查询学生平均成绩及其名次

SQL的老题目了。Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tnam...
  • djlzxzy
  • djlzxzy
  • 2009年02月16日 17:39
  • 4877

查找成绩排名第二的学生

假设有这样的一张表student:name mark --------------- Alice 98 Bob 67 Eric 75 Kato 84首先找到排名第一的学生...
  • sinat_36246371
  • sinat_36246371
  • 2017年05月31日 12:25
  • 211

Mysql将查询后的数据进行排名的SQL语句

有时我们需要对我们数据库某一张表进行排序,本文介绍了3种将已排序数据进行一个排名并输出的SQL...
  • wojiaowo11111
  • wojiaowo11111
  • 2016年11月26日 14:34
  • 1251

sql rank() 根据销售次数,生成排名列

people table schemaid name sales table schemaid people_id sale priceselect p.id, p.name, coun...
  • harris135
  • harris135
  • 2017年09月26日 18:02
  • 333

按某一字段排序生成名次

        select   rank=count(*),   a1.studentname,   a1.score           from   student   a1,   studen...
  • fly860828
  • fly860828
  • 2009年12月24日 13:18
  • 131
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:生成名次的SQL
举报原因:
原因补充:

(最多只允许输入30个字)