SELECT FROM TABLE ORDER BY 成绩;--这个是按小到大排序。
SELECT FROM TABLE ORDER BY 成绩 DESC;--这是按大到小排序。
这个如果想要性能的话,就用下面的sql语句实现:
select orderNo from (select (@rowNum:=@rowNum+1) orderNo , userid ,pid from TABLE,(Select (@rowNum :=0) ) b )t where tuserid=2694
然后php获得这条结果数组,取第一个元素即是排序
如果对这个sql语句有疑问,不明白,可以使用一个比较耗费性能的方法:
select userid from record
执行这条语句,获得一个数组$res
遍历前设置一个记录排序的标识 $seq=1;
for(){
$userid=$res['userid'];//把第seq 个位置的学号拿出来,跟想要的学号比
if($userid==2694){
break;
}
$seq++;
}
//如果 这个排序标识比结果集数组大小还大,说明没这个userid的记录。
$seq就是排序
我没有测试 你可以自己试一下
首先,来构造一些数据
drop table test;
create table test
(
name varchar2(10),
account number(5)
);
insert into test values ('张三','5');
insert into test values ('王五','10');
insert into test values ('小二','10');
insert into test values ('李四','20');
insert into test values ('小三','40');
insert into test values ('小四','50');
insert into test values ('小五','90');
insert into test values ('小六','90');
insert into test values ('小七','90');
commit;
下面来看一下一些方式的排名结果:
1 select t,dense_rank() over(order by taccount asc) 排名 from test t;
2 select t,dense_rank() over(order by taccount desc) 排名 from test t;
3 select t,rank() over(order by taccount asc) 排名 from test t;
4 select t,rank() over(order by taccount desc) 排名 from test t;
全国排名前十的数据库培训中心有哪些?
北大青鸟以完善的标准化管理为依托,通过院校合作和授权合作两大经营模式,实现了体系的规模化发展,得到了社会各界广泛的认可;以永不妥协的教育品质,致力于让广大学子成为受人尊重的专业人才,并成为全球专业的职业教育产品提供商和服务商;以匠心和探索精神,为社会培养和输送大量高质量的技术技能型人才,为改善就业领域人才供给的结构性矛盾做出应有贡献。
北大青鸟研发适应互联网时代需求的职业教育产品,目前推出BCSP软件开发专业、BCNT网络运维专业、BCUI全链路UI设计、BCVE视频特效专业等课程。课程研发团队均由学术界权威学者、互联网IT领域技术专家、教育行业研究者共同组成,确保了课程内容的岗位适用性、技术性、先进性。
北大青鸟以“支持每一位学员成为受人尊重的专业人才”为使命,始终践行“职业教育就是就业教育”的教育本质,坚持帮助学员成功就业,永远是硬道理;始终保持回归职业教育的本真,即坚守“教育为本,师爱为魂”的教育理念,以及“内育职业素养,外塑专业技能”的青鸟校训。
北大青鸟始终以岗位需求为本,立足于行业岗位技能,以永不妥协的教育品质,为学员提供优质、全面的教学资源,为企业输送符合岗位要求的亟需人才,让学员学有所成、企业用有所用。
下面提供mssql的实现方法,一种是通用的,还有一种是2005自带的排名函数,2000中没有
1创建测试环境
create table empsales
(
empname varchar(20),
yeji int
)
insert into empsales
values('张三',34)
insert into empsales
values('李四',39)
insert into empsales
values('王五',23)
insert into empsales
values('赵大',67)
2具体实现的sql语句
(1)方法1:通用方法
select empname,yeji,
mingci=(select count() from empsales as e where eyeji>=empsalesyeji )
from empsales
where empname='XXXXX'
(2)方法2:利用2005的ROW_NUMBER()函数
SELECT empname,yeji,
mingci=ROW_NUMBER() OVER(ORDER BY yeji desc)
FROM empsales
where empname='XXXXX'
以上就是关于C#怎么对数据库表中的成绩进行排名全部的内容,包括:C#怎么对数据库表中的成绩进行排名、mysql数据库中数据的排名问题、oracle数据库中怎样依据成绩实现排名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)