Mysql

来源:3-1 如何实现分组选择数据

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;

加粗这儿是什么意思啊

写回答 关注

3回答

  • 慕尼黑4560470
    2018-03-15 18:02:15

    多层子查询

  • hen_nam
    2017-11-05 18:53:44

    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;

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

  • 宝慕林8673417
    2017-07-08 17:27:34

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

MySQL开发技巧(一)

DBA和开发人员都必备的技能,SQL技巧一个好程序员必备技能

148779 学习 · 123 问题

查看课程

相似问题