sql成績排名
❶ 怎麼用sql語句查找學生的成績排名
工具/材料:以Management Studio為例。
1、首先在桌面上,點擊「Management Studio」圖標。
❷ 用sql語句,查詢每個班級成績排名前三名的學生姓名
1、首先在打開的SQLServer中,假設有兩條數據中,包含有【張】,但是這個張一前一後,如下圖所示。
❸ sql 各科的成績排序怎麼排名次
各科成績的表達有兩種:
科目 成績排名 科目成績排名
數學 90 1 數學 90 1
語文 90 1 語文 90 1
政治 85 3 政治 85 2
#這是第一種的顯示
seclet科目,成績,(
selectcount(成績)+1
fromtable_namewhere成績>t.成績)
fromtable_nameast
orderby成績desc
#第二中的顯示類似可以是加distinct或者是不加distinct而用分組groupby一個意思
seclet科目,成績,(
selectcount(distinct成績)
fromtable_namewhere成績>=t.成績)
fromtable_nameast
orderby成績desc
❹ sql語言,有一個成績單表,已知學生姓名,如何查詢名次
1、創建測試表,
create table test_score(name varchar2(20), score number);
❺ 求一條sql語句,按照成績降序排序,並顯示名次,如123
SELECT
id,
read_total,
(
SELECT
COUNT(read_total)
FROM
t_circle_topic
WHERE
ct.read_total <= read_total
) AS rank
FROM
t_circle_topic AS ct
ORDER BY
read_total DESC
(5)sql成績排名擴展閱讀
ORDER BY 語句用於對結果集進行排序。
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。
在以上的結果中有兩個相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時,第二列是以升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。
❻ sql中查詢排名名次
sql語句是這樣的
select count(*) from student where class=601 and score>(select score from student where name='張三')
這個就求出了在601班的張三前有多少個人,他的名就是這個返回值+1,這個問題不關排序鳥事。做個統計就行了!
你不會是要在頁面直接調用sql語句吧!
常規方法是把這個放在一個業務類傳給數據訪問層做處理後返回結果傳給頁面
你問的response.write這個有點吃力吧!
❼ 用sql server 對學生總成績進行排名
分別倒序順序排序取出5個
select top 5 * from 成績表 order by 成績 desc
select top 5 * from 成績表 order by 成績 asc
一條語句就把他們連起來就好了
select * from (select top 5 * from 成績表order by 成績 desc) as a
union all
select * from (select top 5 * from 成績表order by 成績 asc) as b
❽ 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
❾ 按照人名查出學生的各科成績以及總成績並按總成績排名的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實現按總成績倒敘排列。
(9)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'