Ⅰ sql語言怎麼顯示成績表中成績最高的前十條學生的信息
SELECT TOP 10 *, Num=(SELECT count(DISTINCT result) FROM test_result WHERE RESULT>=RESULT)
FROM test_result
ORDER BY Num 欄位寫出來,我給你寫清楚,方法就是這樣
Ⅱ 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語句:能一次計算出各科前10名學生的平均成績。
select '語文' as 科目, avg(語文) as 平均成績 from
(select top 10 語文 from 成績表 order by 語文 desc) as x
union all
select '數學' as 科目, avg(數學) as 平均成績 from
(select top 10 數學 from 成績表 order by 數學 desc) as y
union all
select '英語' as 科目, avg(英語) as 平均成績 from
(select top 10 英語 from 成績表 order by 英語 desc) as z
如果還有其它科目,可以用同樣的方式往後加。
Ⅳ 請問 SQL資料庫 在一張表中有不同的課程,我想求各個課程的平均成績怎麼求 在一張表中求出學生成績前10%求
求各個課程的平均成績:
select kc.課程.avg(kc.成績) from kc group by kc.課程
求出表中前10%的學生成績。
select top 10 percent * from table order by 成績 desc
你是想求各個課程的平均成績,還基圓是想求 學生的信息和他們的平均成績?表結構是怎麼歲鋒告樣的?可以貼出來看看嗎?乎明
Ⅳ 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;
(5)sql查詢平均成績前十的擴展閱讀:
學生成績表常用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
Ⅵ 請問一下怎樣用Sql統計單科的前10學生的平均成績
因為ORDER BY 英語 對查詢結果按英語字肢大皮段排序,而你的Select 中未包含英語欄位
另TOP 語句是從歷差查詢結果中顯示前N行,在這里加不不加好像一樣仿戚
Ⅶ 用sql如何查詢課程成績排名呢
1、查詢「001」課程比「002」課程成績高的所有學生的學號:
SELECT * FROM tblScore ts1, tblScore ts2
WHERE ts1.stuid = ts2.stuid AND ts1.courseid = '001' AND ts2.courseid = '002
AND ts1.score > ts2.score
(7)sql查詢平均成績前十的擴展閱讀
查詢資料庫使用SELECT命令。 這個命令相對比較復雜。可變化樣式較多,這里分功能依次講解。
1、查詢數據表中所有數據 語法:select * from 表名。
2、查詢指定欄位的顯示 語法:select 欄位1,欄位2,... from 表名。
3、as 別名 在查詢時,默認結果顯示的欄位和表中欄位名相同,可以通過別名來修改顯示的樣式 語法:select 欄位1 as 別名,欄位2 別名,... from 表名。在給欄位起別名時,可以使用 as ,也可以直接在欄位後跟別名,省略 as 。
4、消除重復數據 在查詢數據時,查詢結果可能會有很多重復的數據,如果不想重復,可以使用 distinct 來實現去重。 語法:select distinct 欄位名 from 表名。distinct 在去重時,會比較所有的念基指定欄位,攜高逗只有完全相同時才認為是重復的。辯賣
5、帶條件查詢 where 子句 查詢數據時,需要根據不同的需求設置條件。 通過 where 子句來設置查詢條件。
參考資料
資料庫-網路
Ⅷ 求一條SQL語句:能計算各科前10名學生的平均成績的方法
select avg(語文) as 語文平均成績 from (select top 10 * from 成績表 order by 語文 desc)
select avg(數學) as 數學平銀緩虛均成哪敗績 from (select top 10 * from 成績表 order by 數學 desc)
select avg(英語鋒燃) as 英語平均成績 from (select top 10 * from 成績表 order by 英語 desc)
Ⅸ 查詢考試成績前十名的學生編號和學生成績用SQL Server怎麼查詢
應該首先排除掉掛科的學生,然後按成績倒序排列取前十位考生的成績和編號。
select top 10 studentid,stcore from 成績表
where studentid not in (select studentid from 補考表 )order by stcore desc,studentid
Ⅹ SQL語言怎麼顯示成績表中成績最高的前十條學生的信息
select * from 成績表 order by 成績 desc limit 10