590
社区成员
发帖
与我相关
我的任务
分享
create table tmp_tb
(
id int auto_increment primary key,
score int
);
insert into tmp_tb (score) values (5);
insert into tmp_tb (score) values (5);
insert into tmp_tb (score) values (10);
insert into tmp_tb (score) values (10);
insert into tmp_tb (score) values (15);
insert into tmp_tb (score) values (5);
insert into tmp_tb (score) values (5);
insert into tmp_tb (score) values (5);
insert into tmp_tb (score) values (15);
insert into tmp_tb (score) values (10);
insert into tmp_tb (score) values (15);
insert into tmp_tb (score) values (15);
insert into tmp_tb (score) values (10);
insert into tmp_tb (score) values (5);
insert into tmp_tb (score) values (5);
insert into tmp_tb (score) values (5);
delimiter //
set @i=0,
@score=0;
select id,score from (
select *,@i:=if(@score=score,@i+1,1) as RNr,@score:=score as S
from (
select *
from tmp_tb
order by score,rand())a) a
where RNr <=3
;
//
delimiter ;