㈠ sql語句算排名的問題
SQL語句算排名的問題
復雜語句的排名,要增加一個欄位來顯示順序(排名)。如果是sqlserver2005及以後的版本,可以用ROW_NUMBER() over (order by 欄位)這樣。NTILE 也可以實現排名。
你這個寫的語句,可以排序,但沒有順序號(排名)。
㈡ sql資料庫數據排名
適用於sqlserver2005及oracle10g以上版本,其他資料庫可能不適用,到時候你把xxx處換成你要查的數就行,還有,這個不包括數值一樣比如兩個數相同,而你查的正是這個數的情況,那樣排名可能會一下查出兩個排名
selectt.rnfrom
(selectrow_number()over(orderby數值desc)rn,數值from表名)t
wheret.數值=xxx
㈢ 如何用一條SQL語句查詢某人所在名次,注意,是名次。 mysql
1、首先新建一個test資料庫,在資料庫里創建一張data數據表,在表內插入5條測試數據。
㈣ SQl語句查詢排名分頁
假設成績表為score,score列為分數,stuno為學號,student表為學生信息表,sutno為學號,name為學生姓名,endNum和startNum是頁碼,需要前端傳入;
SELECT * FROM (select row_.*, rownum start_rownum_ from (
sum(t.score) 總分,
t1.name 姓名
from score t,student t1
where t1.stuno=t.stuno
group by t1.name
order by t.stuno
) row_ WHERE rownum < #endNum# ) WHERE start_rownum_ >= #startNum#
㈤ 用SQL語句排名次
selectt.classid,score,row_number()over(orderbyscoredesc)rn
from
(selectclassid,avg(score)scorefromscores)t
sqlserver下寫法
㈥ sql查詢並排名
WITHKKAS(
SELECTinviter,COUNT(*)ASNNFROMT1GROUPBYinviter)
SELECTKK.*,RANK_OVER()ASRNFROMKK
㈦ sql 語句 並列排名的問題
無論sqlserver 還是 oracle
用
rank() 或者 dens_rank() 函數。
select name,score,rank() over(order by score) tt from t;
如果有並列的話 . 他們後邊的排序會變成這樣的。 根據你的需求選用。
1
2
2
4
select name,score, dens_rank() over(order by score) tt from t;
1
2
2
3
感覺你用地2個,, dense_rank() 然後設置。 讓 虛擬的這個排序列tt<=5
㈧ SQL排名語句 哪位哥哥幫幫忙!
select * from 表名
order by cj desc
就可以按照成績從高到低排序了
至於排名的序號 看該表最前面的排列就可以了 id前面的 是自然排列的
㈨ 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語句來顯示排名
在Sqlserver2005+中:
利用:Row_Number() over(order by chengji) 可以顯示排名
--sql如句如下:
select*,row_number()over(orderbychengji)paimingfromStu
如有問題可以追問,我當及時回答。
希望能幫到你!