SELECT RAND(), mais permettre plusieurs fois la même ligne

VaN
Mammouth du PHP | 1107 Messages

19 août 2011, 14:44

Bonjour,

j'ai une table SQL sur laquelle je souhaite effecter un SELECT [...] ORDER BY RAND() LIMIT 10, mais que dans les 10 resultats retournés, il puisse y avoir plusieurs fois les mêmes lignes. Est-il possible de faire ça en SQL ?

Merci

Eléphant du PHP | 275 Messages

19 août 2011, 15:27

De façon horrible, mais oui.

Si dans ta requete tu rajoute une table (bidon), chaque ligne de ton résultat apparaitra X fois, x étant le nombre de ligne de la table rajoutée.

Mais c'est dans quel but ?

VaN
Mammouth du PHP | 1107 Messages

19 août 2011, 16:13

C'est pour un site de QCM, par matières. Une série est composée de 10 questions, mais certaines matières ne comportent pas encore 10 questions, il faut donc que j'ai tout de même un total de 10 questions au moment de l'affichage de la série, grâce à la duplication de certaines. (je sais, le concept est bizarre, mais choix du client..)

Eléphant du PHP | 275 Messages

19 août 2011, 16:26

Bah, te fait pas chier, fait ça coté php : si t'as pas le quota de réponse, dupliques-en

VaN
Mammouth du PHP | 1107 Messages

19 août 2011, 17:44

pas con du tout.. merci bien pour l'idée.

ViPHP
ViPHP | 2577 Messages

23 août 2011, 16:07

La réponse de Popy est d'autant bonne qu'elle permet d'éviter les doublons lorsqu'il y a au moins 10 questions.