一张数据库表,就三个列:得分(score),所属账号(acount),得分日期(date)。
我想用一个SQL语句查出每个账号的得分最高的分数及对应的日期。
话说查出每个账号的最高分我会,可是同时查出对应的日期我就不会了。。
(原来我是用循环的,每个账号查一遍“SELECT score,date FROM test WHERE account = XXXXX ORDER BY score LIMIT 1” 不过发现效率太低了,想找个一步解决或几步内解决的方法~)之前曾经在这里问过,大家给出的答案是:
select *
from tb A
where not exists(select 1 from tb where A.score<score and A.account=account)实测:可用,但效率低,不知有没有更加有效率的办法。环境:MySQL 5.1小弟新新菜鸟一只,还望各位不吝赐教~