如果你想要每个目的地的“x”条目,你可以做每个MySQL变量...类似的东西
select
di.id_destination,
di.id_image,
i.filepath,
i.size,
@RandSeq := if( @lastDestination = di.id_destination, @RandSeq +1, 1 ) as FinalSeq,
@lastDestination := di.id_destination as carryForward
from
destination_image di
join image i
on di.id_image = i.id_image,
( select @lastDestination := 0,
@RandSeq := 0 ) SQLVars
where
di.id_destination between rangeStart and rangeEnd (or similar criteria for your "range" )
having
FinalSeq = 4 ( just a sample, but your "N" entries per destination desired)
order by
id_destination,
rand()这将获得4个(或您的情况下为“N”)条目PER Destination。关键是订单。 order by将以FIRST的顺序返回记录,然后应用@sql变量。因此,在每个目的地上,行将首先被省略RAND(),但是