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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MYSQL] comment tirer au hazard un certain nombre de lignes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MYSQL] comment tirer au hazard un certain nombre de lignes

n°190066
stb
Posté le 05-08-2002 à 15:53:12  profilanswer
 

Bon je m'explisque, j'aimerais recuprer apres une requete sql n lignes prises au hazard dans une table.
Existe il un moyen de faire ça en SQL, ou doit on faire n requetes?

mood
Publicité
Posté le 05-08-2002 à 15:53:12  profilanswer
 

n°190081
darklord
You're welcome
Posté le 05-08-2002 à 16:13:30  profilanswer
 

bin si tes lignes sont identifiées par un id quelconque (genre un nombre par exemple), tu généres X nombres aléatoire entre min(id) et max(id)
 
puis tu fais un select traditionnell avec tes id générés aléatoirement.


---------------
Just because you feel good does not make you right
n°190083
stb
Posté le 05-08-2002 à 16:18:10  profilanswer
 

ben ce sont de reference auto-incrémentales, le pbm c qu'elle ne sont pas continues, je risquerais de tomber ds un "trou"!

n°190106
darklord
You're welcome
Posté le 05-08-2002 à 16:42:23  profilanswer
 

ouais bin désolé faut ce qu'il faut. une BD c'est pas vraiment pour te retourner un truc à la random. C'est un peu bizarre comme requete tu ne trouves pas ?
 
Donc c'est au client de générér ce truc aléatoire.
 
Et bon si t'as des troucs, c'est pas bien grave, tu auras des records en moins.
 


---------------
Just because you feel good does not make you right
n°190110
Sh@rdar
Ex-PhPéteur
Posté le 05-08-2002 à 16:47:55  profilanswer
 

vive la doc !
 
RAND()  
RAND(N) Retourne un nombre aléatoire, compris entre 0 et 1.0. Si un entier N est précisé, il est utilisé comme valeur de seed.  
mysql> select RAND();
        -> 0.5925
mysql> select RAND(20);
        -> 0.1811
mysql> select RAND(20);
        -> 0.1811
mysql> select RAND();
        -> 0.2079
mysql> select RAND();
        -> 0.7888
 
Il est impossible d'utiliser une colonne de valeur RAND() avec la clause ORDER BY , car la colonne sera évalué plusieurs fois. Avec MySQL 3.23, il est cependant possible d'écrire: SELECT * FROM Nom_table ORDER BY RAND(). Comme cela, il est possible de faire une sélection aléatoire d'une table : SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000.  


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°190111
darklord
You're welcome
Posté le 05-08-2002 à 16:49:53  profilanswer
 

c'est dingue ca!


---------------
Just because you feel good does not make you right
n°190112
--greg--
Posté le 05-08-2002 à 16:50:36  profilanswer
 

ça doit etre hyper performant :D

n°190171
stb
Posté le 05-08-2002 à 18:53:45  profilanswer
 

Sh@rdar t genial! et pourtant je l'avais lue la doc... en fait c pour présenter en 1ere page un échantillon des produits, et il faut que ça tourne...
 
yaaiiiss, ça marche au poil :) je vous remercie.
 
bon un ptit tour sur le site pour voir à quoi cela à bien put me servir:
http://sunautosat.free.fr
 
greg>po grave, paske c une selection sur 3 lignes...
darklord>ben en fait, si MySQL est reconnu comme applicatif pour les ite webs, ils ont tt interet à proposer ce genre de fonction, puisqu'il y a des gens qui en ont besoin :)


Message édité par stb le 05-08-2002 à 18:55:22
n°190175
--greg--
Posté le 05-08-2002 à 19:05:12  profilanswer
 

stb a écrit a écrit :

 
greg>po grave, paske c une selection sur 3 lignes...



ben oui et non, l'order se fait forcément sur toute la longueur de la table.
 
et sinon, il me semble que commercialement ça serait plus judicieux d'afficher en page d'accueil 3 voitures que tu ou qqun d'autre défini pour qu'elles apparaissent en 1e page. mais bon

n°190176
stb
Posté le 05-08-2002 à 19:07:57  profilanswer
 

greg>oui c vré, je suis définitivement con... dire que j'ais vu ça cette année en licence (optimisation des requêtes).
Quand au choix des voitures, c'est ce que le commanditaire à décidé, alors...

mood
Publicité
Posté le 05-08-2002 à 19:07:57  profilanswer
 

n°190177
--greg--
Posté le 05-08-2002 à 19:09:56  profilanswer
 

stb a écrit a écrit :

greg>oui c vré, je suis définitivement con... dire que j'ais vu ça cette année en licence (optimisation des requêtes).
Quand au choix des voitures, c'est ce que le commanditaire à décidé, alors...



c pas grave :D demande à darklord :D
et pour le choix, bon ok. mais des fois faut proposer des choses aux clients ;)

n°190230
Sh@rdar
Ex-PhPéteur
Posté le 05-08-2002 à 21:30:57  profilanswer
 

question optimisation faut voir, ça doit pas être si lent que ça.
 
au niveau du moteur, MySQL doit d'abord générer le random puis ensuite sélectionner les lignes correspondantes rien de bien colossal à mon avis..
 
à bencher tout ça !


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°190239
darklord
You're welcome
Posté le 05-08-2002 à 21:38:18  profilanswer
 

--greg-- a écrit a écrit :

c pas grave :D demande à darklord :D
et pour le choix, bon ok. mais des fois faut proposer des choses aux clients ;)




 
dis donc toi. Je te signale que tu es à 5m de moi 8h/jour alors tu te calmes hein sinon
 
 [:tapai]


---------------
Just because you feel good does not make you right
n°190243
--greg--
Posté le 05-08-2002 à 21:40:09  profilanswer
 

DarkLord a écrit a écrit :

 
 
dis donc toi. Je te signale que tu es à 5m de moi 8h/jour alors tu te calmes hein sinon
 
 [:tapai]  



oups

n°190246
darklord
You're welcome
Posté le 05-08-2002 à 21:40:28  profilanswer
 

j'aime mieux ca.
 
Bon et PHP c'est bon là ?


---------------
Just because you feel good does not make you right
n°190250
--greg--
Posté le 05-08-2002 à 21:41:07  profilanswer
 

DarkLord a écrit a écrit :

j'aime mieux ca.
 
Bon et PHP c'est bon là ?



ouaip, mais pb de config de chora ou cvs
t'as pas vu mon mail?

n°190252
darklord
You're welcome
Posté le 05-08-2002 à 21:41:25  profilanswer
 

:ouch:  
 
euh je regarde  :ange:


---------------
Just because you feel good does not make you right

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

  [MYSQL] comment tirer au hazard un certain nombre de lignes

 

Sujets relatifs
Problème de connexion entre delphi6 et MySQLpb connection 2 mysql
[MYSQL , HTML ] BLOB , TEXT , VARCHAR ???est il possible de faire des counts du nombre de clics ?
problème avec une table MySQLproblème MySQL
[ PHP&MySQL][PHP] mysql_connect, est il possible de l'optimiser ?
problème avec une date dans MySQLverifier si une chaine est uniquement constituer de nombre ?
Plus de sujets relatifs à : [MYSQL] comment tirer au hazard un certain nombre de lignes


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