A. 用sql語句,查詢每個班級成績排名前三名的學生姓名
1、首先在打開的SQLServer中,假設有兩條數據中,包含有【張】,但是這個張一前一後,如下圖所示。
B. 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
C. 用sql語句,查詢每個班級成績排名前三名的學生姓名
1、首先在打開的SQLServer中,假設有兩條數據中,包含有【張】,但是這個張一前一後,如下圖所示。
D. SQL語句:查詢各班成績前3的同學姓名
分析如下:
可以用row_number函數來解決。
1、創建測試表,插入數據:
(資料來源:網路:SQL語句)
E. SQL(oracle)寫出查詢出每個班級里分數高的前三名
select*
(selectname,rank()over()seq,class,score
fromt
)whereseq<=3
F. 在access中怎麼寫sql查詢語句,查詢出一個表中有不同班級同學的每個班級的前3名的學號姓名等信
表gq:信息表
gq_id 信息編號
gq_name信息標題
gq_catid 小類編號
表gq_cat:類別表,包括大類和小類
gq_catid 類別編號
gq_catname 類別名稱
sid 大類值為0,小類值為所屬大類的gq_catid值
現建立一個函數通過大類的編號得到該大類下的前數條信息
參數classid:大類編號
參數num:所取信息數目
<%
sub gq_new(classid,num)
sqlgq="SELECT top "&num&" gq.gq_name,gq.gq_id FROM gq,gqcat where gq.gqcat_id=gqcat.gqcat_id and gqcat.sid="&classid&" order by gq.gq_id desc"
set rsgq=server.createobject("adodb.recordset")
rsgq.open sqlgq,conn,1,1
do while not rsgq.eof
Response.Write rsgq("gq.gq_name")
Response.Write "<br>"
rsgq.movenext
loop
rsgq.close
set rsgq=nothing
end sub
%>
G. 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