分两步 第一步 取相同用户,分数一样的时间最大 create table test select user,score,max(do_time) from tb group by user,score; 第二部取相同用户分数大的 select * from test A where not exists (select 1 from test B where A.user=B.user and A.score<B.score);
select user,max(score)as score,min(do_time)as do_time from a group by `user`
select t.* from (select * from mytable order by score desc, do_time asc) t group by t.user
SELECT ID,USER,SCORE,DO_TIME FROM (SELECT ID,USER,SCORE,DO_TIME FROM SCORE ORDER BY SCORE DESC,DO_TIME ASC) GROUP BY USER 这个是最简单的写法。
select user, max(score),do_time from test_gyy GROUP BY `user` ORDER BY do_time desc
第一步 取相同用户,分数一样的时间最大
create table test select user,score,max(do_time) from tb group by user,score;
第二部取相同用户分数大的
select * from test A where not exists (select 1 from test B where A.user=B.user and A.score<B.score);
select user,max(score)as score,min(do_time)as do_time
from a
group by `user`
这个是最简单的写法。
GROUP BY `user`
ORDER BY do_time desc