zxzm.net
当前位置:首页 >> mysql 排名 >>

mysql 排名

select (select count(*) from `table` where k.socre

这个如果想要性能的话,就用下面的sql语句实现: select orderNo from (select (@rowNum:=@rowNum+1) orderNo , userid ,pid from TABLE,(Select (@rowNum :=0) ) b )t where t.userid=2694 然后php获得这条结果数组,取第一个元素即是排序 如果...

select * from (select Student.S#,Sname,Sage,Ssex,SC.C#,score,Cname from SC inner join Student on SC.S#=Student.S# inner join Course on Course.C#=SC.C#) as t where exists( select count(1) from t as d where C#=d.C# and score < d....

先排序 再 用 group by 取 假设 table xxx select * from (select * from xxx order by time desc ) a group by type order by type

答: 试运行段: select * from( SELECT obj.id, obj.score, CASE WHEN @rowtotal = obj.score THEN @rownum WHEN @rowtotal := obj.score THEN @rownum :=@rownum + 1 WHEN @rowtotal = 0 THEN @rownum :=@rownum + 1 END AS rownum FROM ( SEL...

set @count=0;select @count=@count+1 as `名次` from table_name order by `分数` desc;

你要现成代码懒得写给你.我个人想到的一个方法, 你可以通过id查询toupiaos的值,然后再查询比这个id(比如id为4)的值小的值,再统计下有多少个?然后你就可以根据结果得出排名了.

速度快是不可能了,我就随便按照你说的列点数据,只取前两名,你领会一下吧 建表及数据 create table sc(sno int,cno int,score);insert into sc values (1,1,100);insert into sc values (2,1,80);insert into sc values (3,1,25);insert into ...

根据你的问题,先看我这个例子,我也有两个表: 部门表: 员工表: 你是做排行榜获取前十的用户,但每个用户只取一次最短时间(secondsall). 而我取工资SALARY排行榜前三的部门,但每个部门只取一个员工的最高工资, 是一个道理吧。 然后我联合查...

select a.姓名,(@rowNum:=@rowNum+1) as 名次from 表名 a,(Select (@rowNum :=0) ) border by 积分 DESC,注册时间

网站首页 | 网站地图
All rights reserved Powered by www.zxzm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com