Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como eu faço para fazer um sorteio aleatório somente das 8 últimas matérias, sendo que na página vão ser 4 registros exibidos em duas colunas
select * from materia_ovadia where ativo = '1' order by Rand() limit 0,8
Eu usaria desta forma:
SELECT * from (SELECT * from materia_ovadia where ativo = '1'** ORDER BY id_do_registro desc **limit 8) **SUBSELECT** ORDER BY RAND();
Obs: SUBSELECT é apenas um "apelido" necessário para a subseleção no banco de dados. Pode deixar desta forma.
mude o valor inicial do limit.
em vez de limit 0,8, use limit x,10, onde x é o total de matérias menos 11 (pois é necessário tirar as 10 usadas no sorteio e mais uma unidade, pois a primeira tem índice 0, não 1)