Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1682 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  RAND() SQL, il compte ce qui est sortie ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

RAND() SQL, il compte ce qui est sortie ?

n°1166767
djfx
Vive la biere !
Posté le 01-08-2005 à 14:36:10  profilanswer
 

Bonjour,
je souhaiterai savoir si la fonciton RAND() de MySQL gere un compteur des elements sortis auparavant.
 
En gros, j'ai une grosse BDD, et je ne voudrai pas que la question X resorte plusieur fois. Alors la fonction gere t-elle ca, ou faut-il que je stock les numeros de questions sorties ?
 
Merci !  :hello:


---------------
Pas oublier les glacons pour l'apero !!
mood
Publicité
Posté le 01-08-2005 à 14:36:10  profilanswer
 

n°1166803
betsamee
Asterisk Zeperyl
Posté le 01-08-2005 à 14:54:39  profilanswer
 

ben si c'est rand() toutes les questions ont autant de chance de ressortir a chaque fois
Il est peu probable (statistiquement) que cela se produise si ta table est enorme mais c'est possible.
Si tu veux eviter un tel cas il te faut le gerer toi meme a mon avis

n°1167133
_p1c0_
Posté le 01-08-2005 à 17:55:05  profilanswer
 

Oui si tu veux être sûr que chaque question ne sort qu'une seule fois, il faut que tu vérifies à chaque fois. Ca fait un truc du genre:
 

Code :
  1. while(question_posee(num_question)){
  2.   num_question = rand();
  3. }


C'est pas optimisé mais ca marche...

n°1167157
Arjuna
Aircraft Ident.: F-MBSD
Posté le 01-08-2005 à 18:03:27  profilanswer
 

tu peux tenter un truc :
 
ajoute un champ "déjà posé" dans ta table
 

Code :
  1. select id from question where deja_pose <> 'Y' order by rand() limit 0,1


 
ensuite, :
 

Code :
  1. select * from question where id = $id


(avec $id = le numéro ressorti par la première question)
 
et enfin :
 

Code :
  1. update question set deja_pose = 'Y' where id = $id


 
Ainsi, tu ne peux pas poser deux fois la même question.


Message édité par Arjuna le 01-08-2005 à 18:03:53
n°1167181
djfx
Vive la biere !
Posté le 01-08-2005 à 18:12:51  profilanswer
 

Ya de l'ID Arjuna !
 
Mais je peut po  :( ! Ya plusieurs utilisateurs qui se connectent en meme temps.
Pis j'aime pas trop modifier cette table la à chaque fois. Je crois que je vais pluto compter ce qui est sortie dans la session PHP, et comme à chaque question, les données sont reccup sur la base pour l'affichage, suffira de lui dire WHERE id<>XX.
 
 :hello:


Message édité par djfx le 01-08-2005 à 18:13:34

---------------
Pas oublier les glacons pour l'apero !!
n°1167188
djfx
Vive la biere !
Posté le 01-08-2005 à 18:14:52  profilanswer
 

Ohhhh _p1c0_,
tu vient de me donner une ID ! Ca allegera encore la requete !
Merci !  :)  


---------------
Pas oublier les glacons pour l'apero !!
n°1167214
_p1c0_
Posté le 01-08-2005 à 18:26:27  profilanswer
 

djfx a écrit :

Ohhhh _p1c0_,
tu vient de me donner une ID ! Ca allegera encore la requete !
Merci !  :)


 
Ben ça allège la requête, mais si t'as vraiment pas de chance, tu retombes toujours sur les mêmes question et tu boucles longtemps... C'est jouable si la table conient beaucoup plus de questions que tu ne veux en poser...  :o

n°1167222
djfx
Vive la biere !
Posté le 01-08-2005 à 18:34:31  profilanswer
 

En fait je vais plutot faire le traitement des redondances sur le serveur, avec PHP !
Pi je ferais des requetes SQL avec id=X (X=numero jamais sortie)
 
Ca sera + simple, je reccup tt les ID des questions, puis je tri et random, et rulezzzzzzzzzz !  :sol:  


---------------
Pas oublier les glacons pour l'apero !!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  RAND() SQL, il compte ce qui est sortie ?

 

Sujets relatifs
SQL Server - Connaitre noms dernieres tables modifieeserreur SQL
Ou trouver un herbergeur gratuit Php Mysql environ 50Mo + 25Mo SQL[SQL] Récupérer emails d'un fichier *.sql ?
SQL sous SPIP je suis perdu!Serveur SMTP - vérification compte email
[SQL] requete erroneRequete SQL à une base Access depuis JAVA
Requete SQL qui s'additionnent ![SQL - ORACLE] Faire un somme de count sur plusieurs tables
Plus de sujets relatifs à : RAND() SQL, il compte ce qui est sortie ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR