最赞回答 / wlwzobc
点赞,确实是,偶然发现,那就是问题了,确实是没有考虑完全。(select count(*) from user_kill b where b.user_id = a.user_id and a.kills <= b.kills ) cnt,这个语句是达不到排序目的的,正如你说,猪八戒有12、10、10 这种记录时,针对12,排出结果是1,最对第一个、第二个10,排出的结果都是3,后面条件 where cnt <= 2 直接把两条10的记录过滤掉了。
2017-05-25
最赞回答 / 伪民工
不行,两次JOIN你可以假象成两张不同的表,但是结构和数据都一样,第二张表求最大值行,以最大值的行筛选出第一次JOIN的表数据,第一次JOIN的表数据和主查询的表构成最终的查询数据
2017-03-01
最新回答 / 李东岳
别名是为了区分表和简化表的,比如userxxxxxxxx表名很长,你取一个别名后就可以通过a.字段啦,同一个表的字段不可能相同,相同字段也只能通过表名字区分。字段别名如果需要是都要分别取的
2017-02-23