㈠ 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
如有问题可以追问,我当及时回答。
希望能帮到你!