|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
Bonjour à tous,
j'ai la requête suivante qui me permet de lister cinq adhérents au hasard dans le monde Code :
Code :
En l'état actuel, cette requête liste 5 adhérents au hasard. Ca signifie que je peux avoir deux adhérents habitants le même pays, et même plus. Comment pourrais-je ajouter une clause afin que cette requête m'affiche cinq adhérents habitant chacun dans un pays différent. Merci d'avance pour votre aide. |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 531 ![]() |
Saluton,
Ton problème est intéressant car il semble simple, voire simpliste, mais sa résolution avec SQL m'apparaît assez ardue. Pour obtenir cinq pays au hasard, ceci doit le faire : Code mysql :
Je ne vois pas comment t'en sortir autrement qu'en récupérant les 5 id_pay en PHP et en contruisant 5 requêtes mises en UNION, chacune filtrée par un des id_pay, chacune avec un ORDER BY RAND() et un LIMIT 1. Mais j'ai un doute, est-ce que MySQL acceptera les clauses ORDER BY et LIMIT pour chacune des requêtes entre les UNION, ou bien n'accepte-t-il qu'un seul ORDER BY et un seul LIMIT globaux, pour l'ensemble des SELECT liés par des UNION ? Le plus simple est de tester. Toutefois, les tables ont intérêt à bénéficier d'index sur les colonnes des jointures car, surtout si elles sont volumineuses, tout cela va être gourmand en ressources pour les serveurs. Peut-être existe-t-il des solutions en SQL procédural et/ou avec une procédure stockée, mais cela dépasse mes compétences.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
||
|
00
|
|
|
#3 | |||
![]() ![]() |
Citation:
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||
|
00
|
Copyright © 2000-2012 - www.developpez.com