當前位置:首頁 » 編程語言 » sql查找出來全班前五名
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql查找出來全班前五名

發布時間: 2022-11-18 21:35:12

Ⅰ 怎麼用sql語句查找學生的成績排名

工具/材料:以Management Studio為例。

1、首先在桌面上,點擊「Management Studio」圖標。

Ⅱ Access SQL語言怎麼選擇每個班級的前五名分數

在access中不好做,你將數據導出到Excel中,然後插入數據透視表,就會輕松搞定。

Ⅲ 取每個班前5名成績的sql怎麼寫

--單純通過top是不行的,要用到row_number()over()才能取到每個班的分別的前5名
select*from(selectt.*,row_number()over(partitionby班級orderby成績desc)asfnumfrom表名T)t1wherefnum<=5

Ⅳ 用SQL列出資料庫成績的前五名學生的學號、姓名、成績

一樓的:
select student.學號,姓名,成績 FROM STUDENT,SCORE WHERE STUDENT.學號=SCORE.學號 ORDER BY 成績 DESC TOP 5 (本語句適合二級) 追問(急!!!)找出各科成績均在85分以上(含)的學生的學號、姓名 這個呢? 回答完就給分^-^

回答追問的:
select student.學號,姓名,min(成績) 最低分,max(成績) 最高分 FROM STUDENT,SCORE
WHERE STUDENT.學號=SCORE.學號
group by student.學號,姓名
having min(成績)>=85

Ⅳ sql 語句查詢 前5名後5名的成績

不知道你的是什麼資料庫,我用oracle的寫法了。

兩種辦法:

  1. 分別求最大和最小,然後union all

    select * from(select* from table order by 成績) where rownum<=5

    union all

    select * from(select* from table order by 成績 desc) where rownum<=5

  2. 利用排序,找到每個人的位置,然後輸出。排序的方法很多,可以用rownum排序,也可以用row_number()over()排序

    我用row_number()over()寫一個

    selecta.姓名,a.成績 from

    (select row_number()over(order by 成績) num,姓名,成績 from table) a where a.num<=5 or

    a.num>=(select count(*)-5 from table)

    我沒實驗,不過就算有問題也應該不大。

sqlserver的版本是啥?是2005以上么?如果是

那麼利用那個row_number的應該也可以,不過為了讓分數一樣的人都出來,那麼最好改為

這種情況是假設前五齣現分數相同的話,假如前五名有六個人的情況,不過我沒有輸出名次,另外我上面的那種寫法也可以試試,sqlserver好像也可以。

不過如果你要是sql2005以前的版本那時sqlserver還沒有這幾個開窗函數,那就稍微有點麻煩了。

select姓名,成績 from

select rank()over(order by 成績) num,rank()over(order by 成績 desc) num_desc,姓名,成績 from table) a where a.num<=5 or a.num_desc<=5 order by 成績 desc

Ⅵ SQL語句:十個班裡各取前五名

--創建測試數據
declare @t table(ID int,xm varchar(20),total int,banji varchar(50))
insert @t
select 1,'張一',100,'A班' union all
select 2,'張二',200,'A班' union all
select 3,'張三',300,'A班' union all
select 4,'張四',400,'A班' union all
select 5,'張五',500,'B班' union all
select 6,'張六',600,'B班' union all
select 7,'張七',700,'B班' union all
select 8,'張八',800,'B班' union all
select 9,'張九',900,'C班' union all
select 10,'張十',1000,'C班' union all
select 11,'張十一',1100,'C班' union all
select 12,'張十二',1200,'C班'

--查詢
select * from @t a
where (select count(*) from @t b where b.banji = a.banji and b.total > a.total) < 3
--這里是前三名,前五名只需把這里的<3改為<5即可

--結果
/*
ID xm total banji
---------------------------------------------
2 張二 200 A班
3 張三 300 A班
4 張四 400 A班
6 張六 600 B班
7 張七 700 B班
8 張八 800 B班
10 張十 1000 C班
11 張十一 1100 C班
12 張十二 1200 C班
*/

Ⅶ 用SQL語言查詢班上前5名學生成績

SELECT TOP 5 * FROM 表 ORDER BY 成績 DESC;

Ⅷ sql 分組查詢前5的記錄

用GROUP BY查詢。select Top 5 班級,學號,分數 From 學生表group by 班級,學號,分數
________________________Top 5表示頭5行數據。也可以用百分百表示 如果你的表中有100行數據,要查5行,則用select top 5percent 班級,學號,分數
from 學生表group by 班級,學號,分數

Ⅸ 用SQL命令查詢資料庫這門課排名前5的同學的學號和成績若成績相同按學號升序排列

sql server:
select top 5 學號,成績
from 成績表
where 課程名=『資料庫』
order by 成績 desc,學號

oracle :
select 學號,成績
from 成績表
where 課程名=『資料庫』and rownum<=5
order by 成績 desc,學號

Ⅹ 用sql語句,查詢每個班級成績排名前三名的學生姓名

1、首先在打開的SQLServer中,假設有兩條數據中,包含有【張】,但是這個張一前一後,如下圖所示。