A. sql查詢排名總分前十的學生姓名!
SELECT * FROM (SELECT 班級,姓名,SUM(分數) 總分數,ROW_NUMBER() OVER(PARTITION BY 班級 ORDER BY SUM(分數) DESC) 班級名次 FROM 表名 GROUP BY 班級,姓名) T WHERE 班級名次<=10 ORDER BY 班級,班級名次
B. 如何用一條SQL語句查詢某人所在名次,注意,是名次。 mysql
1、首先新建一個test資料庫,在資料庫里創建一張data數據表,在表內插入5條測試數據。
C. sql查詢某個學生的平均成績的排名
1
2
3
4
5
6
7
8
9
10
11
select s.dname,s.sname,s.avggrade
from
(select t.dname,t.sname,t.avggrade,row_number() over (partition by t.dname order by t.avggrade desc) rn
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t) s
where s.rn=1
包含並列的情況,如果一個學院有兩個第一,兩個人都顯示,以上為 sqlserver或oracle寫法,其他資料庫執行不了
-------------補充-----------
給你個通用的
select s2.*
from
(select t.dname,max(t.avggrade) avggrade
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t
group by t.dname) s1,
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) s2
where s1.dname=s2.dname
and s1.avggrade=s2.avggrade
D. sql 資料庫 怎樣檢索出每個班級里 總分數TOP10的學生姓名,並按班級和總分排名
SELECT*FROM(SELECT班級,姓名,SUM(分數)總分數,ROW_NUMBER()OVER(PARTITIONBY班級ORDERBYSUM(分數)DESC)班級名次
FROM表名
GROUPBY班級,姓名)T
WHERE班級名次<=10
ORDERBY班級,班級名次
E. 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語言查詢學生名次擴展閱讀:
注意事項
SELECT 語句用於從表中選取數據,結果被存儲在一個結果表中(稱為結果集)。
:語法
SELECT 列名稱 FROM 表名稱
以及:
SELECT * FROM 表名稱
注釋:SQL 語句對大小寫不敏感。SELECT 等效於 select。
如需獲取名為 "LastName" 和 "FirstName" 的列的內容(從名為 "Persons" 的資料庫表),請使用類似這樣的 SELECT 語句:
SELECT LastName,FirstName FROM Persons
F. sql語句查詢成績最高的學生
select * from 學生表 where 學生id in (select 學生id from 分數表 where 分數值 = (select Max(分數欄位) from 分數表)),這樣查詢即可。
G. 怎麼寫一個sql語句來顯示排名
在Sqlserver2005+中:
利用:Row_Number() over(order by chengji) 可以顯示排名
--sql如句如下:
select*,row_number()over(orderbychengji)paimingfromStu
如有問題可以追問,我當及時回答。
希望能幫到你!
H. 按照人名查出學生的各科成績以及總成績並按總成績排名的sql語句
按照人名查出學生的各科成績以及總成績並按總成績排名的sql語句示例如下:
selectA.name ,
(selectB.scorefromtable_scoreBwhereB.type='數學'andA.id=B.id) as數學 ,
(selectB.scorefromtable_scoreBwhereB.type='語文'andA.id=B.id) as語文,
(selectB.scorefromtable_scoreBwhereB.type='英語'andA.id=B.id)as英語,
(selectSUM(B.score)fromtable_scoreBwhereA.id=B.id)assum_score
fromtable_studentAorderbysum_scoreDESC
以上sql語句首先把學生表和成績表聯合查出每個學生的數學、語文、英語成績,然後通過selectSUM(B.score)fromtable_scoreBwhereA.id=B.id查出每個學生的總成績。
最後orderbysum_scoreDESC實現按總成績倒敘排列。
(8)sql語言查詢學生名次擴展閱讀
上述sql語句重點是對as關鍵字的使用- Alias(別名),通過使用 SQL,可以為列名稱和表名稱指定別名(Alias)。
表的 SQL Alias 語法
SELECT column_name(s) FROM table_name AS alias_name;
列的 SQL Alias 語法
SELECT column_name AS alias_name FROM table_name;
Alias 實例: 使用表名稱別名
假設我們有兩個表分別是:"Persons" 和 "Proct_Orders"。我們分別為它們指定別名 "p" 和 "po"。
現在,我們希望列出 "John Adams" 的所有定單。
我們可以使用下面的 SELECT 語句:
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Proct_Orders AS poWHERE p.LastName='Adams' AND p.FirstName='John'
I. sql中查詢排名名次
sql語句是這樣的
select count(*) from student where class=601 and score>(select score from student where name='張三')
這個就求出了在601班的張三前有多少個人,他的名就是這個返回值+1,這個問題不關排序鳥事。做個統計就行了!
你不會是要在頁面直接調用sql語句吧!
常規方法是把這個放在一個業務類傳給數據訪問層做處理後返回結果傳給頁面
你問的response.write這個有點吃力吧!