我有一张角色表 里面有 ID 等级level 经验 exp;
1.首先我要根据等级从高到低排序。
2.如果等级相同我就根据经验高的排在前面。
3.之后我在其中找出ID为17的这个账号排的行数是多少。
请问各位高手这句SQL在MySql里怎么写
1.首先我要根据等级从高到低排序。
2.如果等级相同我就根据经验高的排在前面。
3.之后我在其中找出ID为17的这个账号排的行数是多少。
请问各位高手这句SQL在MySql里怎么写
(select *,no=row_number() over(order by level desc,exp desc) from tb) t
where id=17
select ID,level,exp,(select count(*) from tbrole where level<=a.level and exp<=a.exp)rank
from tbrole
)t where id=17
(select sum(case when level>a.level then 1 else (case when level=a.level and exp>a.exp then 1 else 0 end) end)+1 from tbrole) as rank
from tbrole where id=17
(select *,no=row_number() over(order by level desc,exp desc) from t_role) t_role
where id=17 我按照上楼写的在MYSQL里运行 但是他报了这个错
1064-You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(order by level desc,exp desc) from t_role) t_role where id=17 ' at line 2
我数据库不怎么样 请问下楼上的高手这是什么意思呢