为了账号安全,请及时绑定邮箱和手机立即绑定

Mysql

select d.user_name,c.timestr,kills 

from(select user_id,timestr,kills

,(select count(*) from user_kills b where

 b.user_id=a.user_id and a.kills <= b.kills) as cnt from user_kills a

group by user_id ,timestr ,kills)c join user1 d on c.user_id=d.id

where cnt <= 2;

加粗这儿是什么意思啊

正在回答

3 回答

多层子查询

0 回复 有任何疑惑可以回复我~

SELECT a.user_name, b.timestr, b.kills FROM user1 a JOIN user_kills b ON a.id = b.user_id WHERE (SELECT COUNT(c.id) FROM user_kills c where c.user_id = b.user_id and c.kills >= b.kills) <= 2;

这条语句也可以获得相同的结果集。

0 回复 有任何疑惑可以回复我~

我认为这是利用两个相同的表之间的同一个ID,对某个字段(kills)的值进行比较,排序,浅见。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信