當前位置:首頁 » 成績查詢 » 查詢總成績的前3名

查詢總成績的前3名

發布時間: 2021-01-06 15:30:02

⑴ 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

⑵ 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、結果顯示:

⑶ 請教sql語言,如何查詢前三名學生......

信息沒給足,, 成績表通過什麼欄位和st_info 以及 c_info關聯呢??

以上信息不足,沒法直接給內你容寫完整的sql,只能給你個大致的語句供參考

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

⑷ access2003 查找各科成績80分以上的學生的總成績,並顯示前三名如何設定

查詢窗體的設計視圖請參照下圖:

下面是上圖對應的查詢窗體的SQL視圖。。

SELECTTOP3姓名專,數學,語文屬,英語,Val([數學])+Val([語文])+Val([英語])AS總成績
FROM成績表
GROUPBY姓名,數學,語文,英語
HAVING數學>"80"AND語文>"80"AND英語>"80"
ORDERBYVal([數學])+Val([語文])+Val([英語])DESC;

⑸ 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語句:查詢各班成績前3的同學姓名

分析如下:

可以用row_number函數來解決。

1、創建測試表,插入數據:

(資料來源:網路:SQL語句)

⑻ 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;

(8)查詢總成績的前3名擴展閱讀:

學生成績表常用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

⑼ Mysql 單表查詢各班級總分前三名

select class,total,name from (select *,ywsc+sxsc as total from st ORDER BY total DESC) b
where
not EXISTS(select * from (select *,ywsc+sxsc as total from st ORDER BY total DESC) c where c.class=b.class and b.total < c.total GROUP BY c.class HAVING COUNT(*)>2 )
ORDER BY b.class,b.total DESC

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

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

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919