一个排序sql的实现
2005-03-24 20:48
225 查看
在网上看到一个提问,对于一个表,只有两个字段(姓名、成绩),怎么样用sql实现排名
一个网友的回答是这样的回答的,看了之后才发觉自己sql方面有很多技巧没有掌握
declare @Course table(name varchar(100),成绩 int)
insert into @Course
select 'a',99
union all
select 'b',66
union all
select 'c',88
--1
select * from @course
--2
select (select 1+count(name) from @Course where 成绩>t.成绩) as 名次,name,成绩
from @Course t
--3
select * from (
select (select 1+count(name) from @Course where 成绩>t.成绩) as 名次,name,成绩
from @Course t
) tmp
这样就可以实现sql对一张表的排名了
一个网友的回答是这样的回答的,看了之后才发觉自己sql方面有很多技巧没有掌握
declare @Course table(name varchar(100),成绩 int)
insert into @Course
select 'a',99
union all
select 'b',66
union all
select 'c',88
--1
select * from @course
--2
select (select 1+count(name) from @Course where 成绩>t.成绩) as 名次,name,成绩
from @Course t
--3
select * from (
select (select 1+count(name) from @Course where 成绩>t.成绩) as 名次,name,成绩
from @Course t
) tmp
这样就可以实现sql对一张表的排名了
相关文章推荐
- SQL 按多个字段排序的实现
- 何用sql语句实现:将insert语句作为一个字段,插入到表格的一条记录之中
- SQL的一个排序的问题
- [置顶] 实现一个选择排序程序,排序整型数组。
- SQL语句实现:Access数据库与SQL数据库交互 - 一个实用例子
- 两种冒泡排序方法调用的修改--一个方法同时实现两种排序
- 文件按时间排序的一个实现思路
- 一个实现自动求和/合并单元格/排序的DataGrid
- C++ 使用一个栈实现另一个栈的排序
- 给定一个单向链表L(N0,N1,N2,N3……),在不改变node值得情况下,来编程实现对链表重新排列 ,使得排序后的链表为(N0,Nn,n1,Nn-1,n2,Nn-2……)。
- sql语句实现一个输入框下多条件查询
- 用PHP实现一个关于德州扑克算法的程序(二):排序
- SQL:查询出数据,按序号排序,并将一个或是多个特定的数据排在最前面
- 3. 编写一个C程序,实现对10个整数进行升序排序输出。
- 实现一个简单的c++ list容器(含sort排序 链表归并算法实现)
- 5.定义一个可以接收三个数字的函数,函数体内实现三个数字的排序输出 →(javascript代返回值的函数的申明和调用)
- 分治算法实现对一个数进行字典全排序
- 关于用C语言来实现对一个文档中的条目数字进行统计排序的实现
- 【Python】简单例题tuple和list的转换;实现删除一个list里重复的元素;对list a进行排序,并且从最后一个开始删除重复元素
- 编写一个void sort(int*x,int n)实现将x数组中的n个数据从大到小排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件