Bonjour.
Je voudrais savoir si il est possible (je pense que oui) de faire un tri partiel sur une requête.
exemple : Je possède une table
Et je voudrais que dans la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE `table4` ( `table1ID` int(10) NOT NULL, `name` varchar(128) collate utf8_unicode_ci NOT NULL, `id1` int(10) NOT NULL, PRIMARY KEY (`table1ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Les 6 premiers enregistrement soient triés par rapport à id1 et les suivants triés aléatoirement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM `table4` WHERE 1;
J'ai essayer la requète suivante:
Mais RAND() n'a aucun effet, le tri est toujours par 'ORDER BY id1'. Séparément les deux requêtes fonctionnent bien mais leur union désactive l'option 'ORDER BY RAND()'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 (SELECT * FROM `table4` WHERE id1 <=6 ORDER BY id1) UNION (SELECT * FROM `table4` WHERE id1 >6 ORDER BY RAND( ))
Merci.
Partager