MySql多表联合查询1(获取排名信息,排名名次)

2019-11-07  本文已影响0人  简单可靠才可信
-- 两张表联合查询并排序取排名第5个之后的10条数据
-- SELECT * FROM limits WHERE uid != 'ss' ORDER BY lid DESC LIMIT 5,10;

-- 两张表联合查询并排序取排名第0个之后的10条数据,然后显示排名NO
-- select p.gn, l.value, (@i :=@i + 1) AS NO
-- from player p, leaderboard l
-- where p.uid = l.uid AND l.lid = 0 ORDER BY l.value DESC LIMIT 0,10

-- 两张表联合查询并排序取排名第5个之后的10条数据,然后显示排名NO,声明i最初取值为0
-- SELECT * FROM (
-- select p.gn, l.value, (@i:=@i + 1) AS NO
-- from player p, leaderboard l
-- where p.uid = l.uid AND l.lid = 0 ORDER BY l.value DESC) temp,
-- (SELECT @i:=0) t ORDER BY temp.`value` DESC

-- 两张表联合查询并排序取排名第5个之后的10条数据,然后显示排名NO,声明i最初取值为0
-- 获取gn = "matthewtesting"的排名次数以及排名信息
SELECT c.* FROM (
SELECT * FROM (
select p.gn, l.value, (@i:=@i + 1) AS NO
from player p, leaderboard l
where p.uid = l.uid AND l.lid = 0 ORDER BY l.value DESC) temp,
(SELECT (@i:=0)) t ORDER BY temp.`value` DESC
) c
WHERE c.gn = "matthewtesting"

上一篇下一篇

猜你喜欢

热点阅读