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

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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号