當前位置:首頁 » 編程語言 » sql第10名的分數查詢
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql第10名的分數查詢

發布時間: 2022-05-28 00:16:43

sql 資料庫 怎樣檢索出每個班級里 總分數TOP10的學生姓名,並按班級和總分排名

SELECT*FROM(SELECT班級,姓名,SUM(分數)總分數,ROW_NUMBER()OVER(PARTITIONBY班級ORDERBYSUM(分數)DESC)班級名次
FROM表名
GROUPBY班級,姓名)T
WHERE班級名次<=10
ORDERBY班級,班級名次

② SQL語句查詢成績排名前十名的學生

:以上兩條均對!,關於表名和排序欄位,讓提問題的【朋友】填寫,我們三人均祝你成功!!!

③ 用SQL語句查某班第10-15名成績的學生信息,各位高手們有沒有簡便的方法

select top 5 from (
select * from (select top 15 * from 成績表 order by 總成績 asc ) a
order by 總成績 desc
) b
order by 總成績
嵌套一下就可以了

④ SQL語句查詢某欄位數值排名第10名 如何查詢

select grade,row_number()over(partition by class order by grade desc) mm from 成績表 where 班級=6 and mm=10

⑤ SQL語句查詢排名第10的學生姓名

這樣:

select * from

(select top 10 id,score

from table

order by score) a

where a.id not in (select top 9 id from table order by score)

(5)sql第10名的分數查詢擴展閱讀:

注意事項

SELECT 語句用於從表中選取數據,結果被存儲在一個結果表中(稱為結果集)。

:語法

SELECT 列名稱 FROM 表名稱

以及:

SELECT * FROM 表名稱

注釋:SQL 語句對大小寫不敏感。SELECT 等效於 select。

如需獲取名為 "LastName" 和 "FirstName" 的列的內容(從名為 "Persons" 的資料庫表),請使用類似這樣的 SELECT 語句:

SELECT LastName,FirstName FROM Persons

⑥ 怎麼用sql查詢班級前十名成績的同學的姓名和分數(成績相同的學生算同一個名次)

select name,score from (

select name,score,dense_rank() over(order by score) "row" from t )
where "row"=10

⑦ sql查詢 從一張表中找到每個班成績排在第十名的信息。

--按成績降序排列 取前10個即可
select a.number,b.class,b.score from st_score as a
join (
select top(1) t.class,t.score from (
select top 10 class,score from st_score
group by class
order by score desc) as t order by t.score) as b
on a.class=b.class and a.score=b.score
order by b.class,b.score desc

⑧ sql查詢排名總分前十的學生姓名!

SELECT * FROM (SELECT 班級,姓名,SUM(分數) 總分數,ROW_NUMBER() OVER(PARTITION BY 班級 ORDER BY SUM(分數) DESC) 班級名次 FROM 表名 GROUP BY 班級,姓名) T WHERE 班級名次<=10 ORDER BY 班級,班級名次

⑨ SQL查詢成績為第10到15名的學生全部信息

select top 5 * from students where id not in(select top 10 id from students) order by score asc (排序根據倒敘還是順序自己定,如果order by 語句不對,你試試換個順序,很久沒寫,記不太清)

⑩ mysql中一張學生表,查詢出單科成績前十名學生的所有信息 和總分成績前十名學生的所有信息 在線等

學生表名為:student, 單科成績的欄位為:subject。學生名字為:name

查詢單科成績前十:mysql語句為:select * from student order by subject desc limit 10;

查詢總分成績前十:mysql語句為:select sum(subject) subject,name from student group by name order by subject desc limit 10;

註:

select sum(subject) subject,name

這句的意思是:sum(subject) subject 把單科成績加總用subject 來命名(就是總成績),name就是一個欄位,這里只有兩個欄位。

group by name order by subject : group by name 的意思按照名字這一欄來分組,當然,學生成績表名字有可能是一樣的,按照學號是最准確的,這里只是舉個例子。

order by subject 這句的意思是按照總分成績排序,這里的subject 是前面重命名總分的意思。

select sum(subject) as countsubject,name from student group by name order by countsubject desc limit 10;

(10)sql第10名的分數查詢擴展閱讀:

學生成績表常用sql

1. 在表中插入符合主鍵

[sql]

/*成績表*/

CREATE TABLE SC

(

Sid INT REFERENCES Student(Sid), /*學生學號*/

Cid INT REFERENCES Course(Cid), /*課程編號*/

Score INT NOT NULL, /*課程分數*/

PRIMARY KEY(Sid,Cid) /*將學生學號和課程編號設為復合主鍵*/
)

2. 查詢各科成績最高分,最低分以及平均分

[sql]

SELECT c.Cname, MAX(s.Score) AS Max, MIN(s.Score) AS Min, AVG(s.Score) AS Average

FROM Course c JOIN SC s ON c.Cid = s.Cid

GROUP BY c.Cname

/*此處應注意,若不按照c.Cname進行分組,SQL語句會報錯,c.Cname在SELECT語句中不合法,因為它並未出現在聚合函數中也沒有出現在GROUP BY語句中*/


3. 查詢平均成績大於80分的學生姓名以及平均成績

[sql]

SELECT Sname, AVG(Score) AS Average FROM Student JOIN SC

ON Student.Sid=SC.Sid

GROUP BY Sname

HAVING AVG(Score)>80

/*以聚合函數為條件進行刪選只能在HAVING語句中進行,WHERE語句不支持聚合函數*/

4.按總分為學生排名,總分相同名次相同

[sql]

SELECT RANK() OVER (ORDER BY SUM(ss.Score) DESC) AS Rank, s.Sname,

ISNULL(SUM(ss.Score),0)

FROM Student s LEFT JOIN SC ss

ON s.Sid = ss.Sid

GROUP BY s.Sname

ORDER BY SUM(ss.Score) DESC

/*RANK()是SQL Server的一個built-in函數,語法為

RANK() OVER ( [ partition_by_clause ] order_by_clause ).*/

5. 查詢總分在100至200之間的學生姓名及總分

[sql]

SELECT s.Sname,SUM(ss.Score) FROM Student s JOIN SC ss ON s.Sid=ss.Sid

GROUP BY s.Sname HAVING SUM(ss.Score) BETWEEN 100 AND 200