当前位置:首页 » 编程语言 » sql查询总成绩前三名语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询总成绩前三名语句

发布时间: 2022-11-30 05:23:43

‘壹’ sql语句如何查询成绩的前三名带成绩重复的

select * from table where 成绩 in (select top 3 distinct 成绩 from table order by 成绩 desc) order by 成绩 desc

下面这个效率要高点
select * from table where 成绩 >= (select min(成绩) from(select top 3 distinct 成绩 from table)) order by 成绩 desc

‘贰’ sql语句 每科成绩的前三名

可以用row_number函数来解决。
1、创建测试表,插入数据:
create table sc
(id int,
name varchar(20),
class varchar(20),
score int);

insert into sc values (1,'badkano','一年一班',100)
insert into sc values (2,'网络知道团长','一年一班',99)
insert into sc values (3,'小短','一年一班',95)
insert into sc values (4,'小小动','一年一班',97)
insert into sc values (5,'小智','一年一班',80)
insert into sc values (6,'吕布','一年二班',67)
insert into sc values (7,'赵云','一年二班',90)
insert into sc values (8,'典韦','一年二班',89)
insert into sc values (9,'关羽','一年二班',70)
insert into sc values (10,'马超','一年二班',98)
2、查询每个班级的前三名,可用语句:

select * from
(select row_number() over (partition by class order by score desc) 排名,* from sc) t
where 排名<=3 order by class asc,score desc

‘叁’ 查询班上考试成绩前三名的成绩的SQL语句怎么写

select `考试成绩` from `成绩表` order by `考试成绩` desc list 0,3;

‘肆’ mysql版 查询各科成绩前三名的记录:(不考虑成绩并列情况)

上面那条答案应该是可以的啊,可能是看起来复杂了点吧,我自己试过是没问题的:
SELECT t1.sno,t1.cno,Score
FROM SC t1
WHERE EXISTS
(SELECT COUNT(1)
FROM SC
WHERE t1.cno= cno AND t1.score<score
HAVING COUNT(1)<3)
ORDER BY t1.cno,score DESC
另外还有一种类似的写法:

SELECT t1.sno,t1.cno,Score
FROM SC t1
WHERE
(SELECT COUNT(cno)
FROM SC
WHERE t1.cno= cno AND t1.score<score)<3
ORDER BY t1.cno,score DESC

‘伍’ 用sql语句,查询每个班级成绩排名前三名的学生姓名

1、首先在打开的SQLServer中,假设有两条数据中,包含有【张】,但是这个张一前一后,如下图所示。

‘陆’ 用sql语句,查询每个班级成绩排名前三名的学生姓名

1、首先在打开的SQLServer中,假设有两条数据中,包含有【张】,但是这个张一前一后,如下图所示。

‘柒’ 数据库中查出表中最高到最低成绩的前3名的语句怎么写

最高成绩前3名:SELECT TOP 3 score FROM Marks ORDER BY score DESC(按成绩从高到低排列,取三位。) 最低成绩前3名:SELECT TOP 3 score FROM Marks ORDER BY score ASC

‘捌’ SQL语句:查询各班成绩前3的同学姓名

分析如下:

可以用row_number函数来解决。

1、创建测试表,插入数据:

(资料来源:网络:SQL语句)

‘玖’ 请教sql语言,如何查询前三名学生......

信息没给足,, 成绩表通过什么字段和st_info 以及 c_info关联呢??

以上信息不足,没法直接给你写完整的sql,只能给你个大致的语句供参考

select top 3 st_name,score from st_info,s_c_info..... where ......
order by score desc

‘拾’ oracle中的sql求总分前三名

可以用row_number来查询。

1、创建数据表,插入数据:

createtablesc
(idint,
namevarchar(20),
classvarchar(20),
scoreint);

insertintoscvalues(1,'badkano','一年一班',100);
insertintoscvalues(2,'网络知道团长','一年一班',99);
insertintoscvalues(3,'小短','一年一班',95);
insertintoscvalues(4,'小小动','一年一班',97);
insertintoscvalues(5,'小智','一年一班',80);
insertintoscvalues(6,'吕布','一年二班',67);
insertintoscvalues(7,'赵云','一年二班',90);
insertintoscvalues(8,'典韦','一年二班',89);
insertintoscvalues(9,'关羽','一年二班',70);
insertintoscvalues(10,'马超','一年二班',98);
commit;

2、查询分数的前三名,可用以下语句:

select*from
(selectrow_number()over(orderbyscoredesc)rn,sc.*fromsc)
wherern<=3;

3、结果显示: