當前位置:首頁 » 編程語言 » sql查詢成績排名
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql查詢成績排名

發布時間: 2022-07-12 07:38:28

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

② sql中查詢排名名次

sql語句是這樣的

select count(*) from student where class=601 and score>(select score from student where name='張三')
這個就求出了在601班的張三前有多少個人,他的名就是這個返回值+1,這個問題不關排序鳥事。做個統計就行了!

你不會是要在頁面直接調用sql語句吧!
常規方法是把這個放在一個業務類傳給數據訪問層做處理後返回結果傳給頁面
你問的response.write這個有點吃力吧!

③ 怎麼在MYSQL查詢學生平均成績及其名次

工具/材料:Management Studio。

1、首先在桌面上,點擊「Management Studio」圖標。

④ sql各科名次


各科成績的表達有兩種:

科目 成績排名 科目成績排名

  1. 數學 90 1 數學 90 1

  2. 語文 90 1 語文 90 1

  3. 政治 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、首先在打開的SQLServer中,假設有兩條數據中,包含有【張】,但是這個張一前一後,如下圖所示。

⑥ sql語言,有一個成績單表,已知學生姓名,如何查詢名次

1、創建測試表,

create table test_score(name varchar2(20), score number);

⑦ sql 排名次

你整理一個demo出來,把你的三張原始數據貼在excle中,然後再把你想要的結果貼在裡面,然後這四張圖,截圖上傳上來大家就知道你想要的了。

⑧ 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語句查詢成績表中排名前400名的所有列數據,按升序排列

select * from 成績表 order by 成績 fetch first 400 rows only
上面我是用的db2資料庫
sql server 可以用top 你都拿去試看 不行就用生成序號 取400的方式
select top 400 * from 成績表 order by 成績

⑩ 按照人名查出學生的各科成績以及總成績並按總成績排名的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實現按總成績倒敘排列。


(10)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'