|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() KONEInscription : juin 2004 Messages : 109 ![]() |
Bonjour à tous
J'ai deux tables Code :
albums(album_id,album_titre) et photos(photo_id,album_id,photo_titre) Je veut écrire une requête qui ramène tous les albums, et pour chaque album, une photo au hasard (pas toutes les photo de l'album, mais une seule par album) J'ai essayer des choses du genre Code :
Quelqu'un peut-il me venir en aide ? Merci d'avance de vos contributions
__________________
Une somme de savoirs en chaque matière, si minime soit-elle, rend n'importe quel benêt, dans un pays de benêts, docte.
|
||
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() KONEInscription : juin 2004 Messages : 109 ![]() |
OK, je viens d'essayer
Code :
Merci infiniment.
__________________
Une somme de savoirs en chaque matière, si minime soit-elle, rend n'importe quel benêt, dans un pays de benêts, docte.
|
||
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Saluton,
Pas sûr que la photo retournée le soit tout à fait au hasard. Par exemple je pense que, faute d'ajout dans la table photos, la requête retournera toujours la même photo pour chaque album.
__________________
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
|
|
|
#4 |
|
Membre du Club
![]() KONEInscription : juin 2004 Messages : 109 ![]() |
Merci à Maljuna Kris.
Je viens effectivement de constater que cette la même photo qui est renvoyée pour chaque album. Mais as-tu une idée pour introduire cet aléa dans la requête ? Merci
__________________
Une somme de savoirs en chaque matière, si minime soit-elle, rend n'importe quel benêt, dans un pays de benêts, docte.
|
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Je vois bien une solution avec une sous-requête corrélée munie d'une clause ORDER BY RAND(), mais il faudrait appliquer une clause LIMIT 1 à la sous-requête et je crois me souvenir que MySQL ne l'admet pas.
__________________
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
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Une autre possibilité, propre à MySQL donc non standard, profiter du GROUP BY pour faire un GROUP_CONCAT(DISTINCT p.photo_titre ORDER BY RAND) AS titres et, dans l'exploitation du résultat, ne retenir que le premier item.
__________________
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
|
|
|
#7 |
|
Membre du Club
![]() KONEInscription : juin 2004 Messages : 109 ![]() |
Finalement je crois que je me suis résolu à garder la première photo de chaque album.
Merci à tous pour vos contributions
__________________
Une somme de savoirs en chaque matière, si minime soit-elle, rend n'importe quel benêt, dans un pays de benêts, docte.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com