Page 1 sur 1

ORDER BY RAND() après LIMIT

Posté : 07 mai 2012, 14:40
par Zahnzao
Bonjour,

Voici une requête
$sql='SELECT id,idBlog,pic,margin,date,idPost,idCron FROM pics WHERE idCron="'.$idCron.'" ORDER BY id ASC LIMIT '.$start.','.$maxByPage;
C'est un affichage par page via php. En l’occurrence ici il me retourne 40 résultats.

Est-il possible via mysql de trier aléatoirement uniquement les 40 résultats retournés par le LIMIT ?

Ou la seule solution est de les mélanger via mon script php ?

Merci.

Re: ORDER BY RAND() après LIMIT

Posté : 08 mai 2012, 11:04
par Zahnzao
Pas d'idées ?

Je ne trouve rien à ce sujet sur la toile...

Je vais mettre mes résultats dans un tableau et les mélanger avec php.

Merci.

Re: ORDER BY RAND() après LIMIT

Posté : 08 mai 2012, 11:07
par xTG
Le LIMIT est la dernière clause prise en compte.
Donc non, il te faut faire cela avec PHP.

Re: ORDER BY RAND() après LIMIT

Posté : 08 mai 2012, 11:17
par nhachet
Ou alors faire une sous requête :
SELECT ss_req.* FROM (
    SELECT * FROM table_1 WHERE 1=1 LIMIT 40
) ss_req ORDER BY RAND();