数据库成绩排名
A. sql查询排名总分前十的学生姓名!
SELECT * FROM (SELECT 班级自,姓名,SUM(分数) 总分数,ROW_NUMBER() OVER(PARTITION BY 班级 ORDER BY SUM(分数) DESC) 班级名次 FROM 表名 GROUP BY 班级,姓名) T WHERE 班级名次<=10 ORDER BY 班级,班级名次
B. 数据库成绩排序问题,分数相同名次相同就少个名次
select * from table_name order by fs desc;
其中table_name是你的表名。order by fs是按照fs列进行排序,desc是倒序的意思专,属就是数字大的在上面。
C. sql 查找成绩排名第二的同学
sql 查找成绩排名第二的版同学权
select top 1 * from tbl_score where tbl_score NOT IN ( select top 1 * from tbl_score )
D. oracle数据库中怎样依据成绩实现排名
首先,来构造一些数据
drop table test;
create table test
(
name varchar2(10),
account number(5)
);
insert into test values ('张三','5');
insert into test values ('王五','10');
insert into test values ('小二','10');
insert into test values ('李四','20');
insert into test values ('小三','40');
insert into test values ('小四','50');
insert into test values ('小五','90');
insert into test values ('小六','90');
insert into test values ('小七','90');
commit;
下面来看一下一些方式的排名结果:
1. select t.*,dense_rank() over(order by t.account asc) 排名 from test t;
E. sql语言,有一个成绩单表,已知学生姓名,如何查询名次
1、创建测复试表,
create table test_score(name varchar2(20), score number);
F. sql查询某个学生的平均成绩的排名
1
2
3
4
5
6
7
8
9
10
11
select s.dname,s.sname,s.avggrade
from
(select t.dname,t.sname,t.avggrade,row_number() over (partition by t.dname order by t.avggrade desc) rn
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t) s
where s.rn=1
包含并列的情况,如果一个学院有两个第一,两个人都显示,以上为 sqlserver或oracle写法,其他数据库执行不了
-------------补充-----------
给你个通用的
select s2.*
from
(select t.dname,max(t.avggrade) avggrade
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t
group by t.dname) s1,
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) s2
where s1.dname=s2.dname
and s1.avggrade=s2.avggrade
G. SQL语句查询成绩排名前十名的学生
:以上两条均对!,关于表名和排序字段,让提问题的【朋友】填写,我们三人均祝你成功!!!
H. 如何查询数据库中排名前几位的数据
使用 select top 5 * from table order by id 时,报用select语句检索oracle数据库时出现ora-00923:未找到要求的from关键字。
因为该SQL语句是在SQLServer中的使用的,如果是在 Oracle中,需要使用 rownm 这个关键字用来返回 查询的记录条数。
eg: select * from table where rownnm<=5 order by id
I. 数据库里怎样查出排名
dim index,paimin
paimin=1
Set Index=Conn.Execute("SELECT * FROM chengji ORDER BY mark DESC")
IF not(Index.EOF AND Index.BOF) Then
Do While NOT (Index.EOF And Index("name")="王明")
paimin=paimin+1
Index.MoveNext
loop
end if
response.write paimin
index.close
set index=nothing
-----------
不知道有没有简单点回的方法答