Modérateur PHPfrance |
2575 Messages
14 juin 2005, 09:42
En fait je retire ce que j'ai dit à propos du fonctionnement de rand() dans la clause ORDER BY sous Mysql, pour la simple raison que ce rand() ne désigne pas un n° de colonne existante dans le select puisqu'il génére un nombre flottant entre entre 0.0 et 1.0
Mais en testant la requête :
SELECT *, rand() as hasard FROM table ORDER BY hasard
Je m'apperçois qu'elle fonctionne exactement comme : ORDER BY rand()
Ce qui veut dire qu'un champ temporaire est créé par rand() à la fin de la génération du SELECT pour appliquer le classement final du fichier et rendre le resultat.
Je rappelle que ORDER BY force dans certains cas nécéssaires la création d'un fichier temporaire d'indexation dans le repertoire tmp/ avec l'extension .MYI
Modifié en dernier par
sadeq le 14 juin 2005, 09:59, modifié 1 fois.
--------
//////----
//---
//----
//////
-------
//---
//----
//---
//----
//---
//
------
//////----
//////-----
//////
-----
||--------
||--
||---
||
Prendre le recul n'est pas une perte de temps.
ps:
Affrontez moi dans l'arène