Frank_Fu4373300
2017-07-06 15:17
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;
加粗这儿是什么意思啊
多层子查询
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;
这条语句也可以获得相同的结果集。
我认为这是利用两个相同的表之间的同一个ID,对某个字段(kills)的值进行比较,排序,浅见。
MySQL开发技巧(一)
148779 学习 · 123 问题
相似问题