Resultat aleatoire

Résolu
pioug70 Messages postés 14 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 27 mars 2006 - 22 août 2005 à 23:49
pioug70 Messages postés 14 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 27 mars 2006 - 23 août 2005 à 23:42
Bonjour,



J'execute une requete qui me renvoie N resultats parmis ces N resultats je souhaite en recupérer 1 seul et de maniere aléatoire.





Exemple



resultat requete actuellement

Toto

Titi

Lili

Lolo

LoLa



J'aimerai que la requete me ressorte que Titi par exemple



Merci

7 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 août 2005 à 19:57
J'ai oublié



le top 1



SELECT TOP 1 RAND(table_ID*10000) AS ALEA, table_ID

FROM T_table

ORDER BY ALEA



--> renvoie le premier enregistrement.
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 août 2005 à 19:55
Salut



Indique sur quelle base es tu?



Et je pense que ceci doit etre fait par programme.



regarde avec cette methode



table id = numero d'enregistrement ou colonne numerique quasi unique.





SELECT RAND(table_ID*10000) AS ALEA, table_ID

FROM T_table

ORDER BY ALEA



SQLserver



Esperant que ca fonctionne?
0
pioug70 Messages postés 14 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 27 mars 2006
23 août 2005 à 20:48
Salut,



J'utilse HSQLDB (base de donnée 100% Java) les fonctionnalitees de
HSQLDB sont tres limitées je pense pas que le RAND passe. De plus je
prefere optimiser la requete que de faire ca en Java (deja que HSQLDB
est lent) de plus je ne veux pas que ce soit obligatoirement le premier
resultat car j'effectue souvent la meme requete donc j'aurais toujours
le meme resultat, et je souhaite qu'il soit au contraire aleaoire.



Merci
0
pioug70 Messages postés 14 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 27 mars 2006
23 août 2005 à 20:50
Oups,

<strike>de plus je ne veux pas que ce soit obligatoirement le premier resultat
car j'effectue souvent la meme requete donc j'aurais toujours le meme
resultat, et je souhaite qu'il soit au contraire aleaoire.

</strike>OUPS j'avais pas vu le RAND apres le TOP 1

<strike>

</strike>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 août 2005 à 20:56
J'ai été voir la doc,



Rand n'existe pas



Mais limit peut faire le boulot



limit n, 1



--> le n nieme enregistrement

n etant passé par le programme.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 août 2005 à 20:58
C'est pas grave, le rand selectionne --> le top 1 = limit 0,1







Maintenant il faut de debouiller pour faire le limit n,1



Voila
0
pioug70 Messages postés 14 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 27 mars 2006
23 août 2005 à 23:42
Salut he ben le Rand existe mais il fo l'utiliser comme ceci



SELECT TOP 1 CHAMP, RAND() as ORDRE FROM MATABLE ORDER BY ORDRE;
0
Rejoignez-nous