在MySQL中使用下列语句可以实现:
select * from `pre_app_zflx` `a` where not exists (select 1 from `pre_app_zflx` `b` where `b`.`uid` = a.`uid` and `b`.`id` > `a`.`id`) order by `score` DESC;
好的,我一会试试
==
group by 不能排序,只能挑出第一条来,
这样把每个用户的第一条记录存放最高分就可以查询出来
//每次更新该用户的第一条记录为最高分
DB::query("UPDATE ".DB::table('app_zflx')." SET score_now='$score_now',title_now='$title_now',gtime= '$tmptime' WHERE uid='$_G[uid]' ORDER BY id ASC LIMIT 1");
复制代码
查询各个用户的最高分
$query = DB::query("SELECT * FROM ".DB::table('app_zflx')." GROUP BY `uid` ORDER by `score_now` DESC LIMIT $start_limit, 10");