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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [resolu]Jointure d'un COUNT dans une requête

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu]Jointure d'un COUNT dans une requête

n°1569256
Zorro561
Posté le 03-06-2007 à 12:49:30  profilanswer
 

Salut à tous.
 
J'ai fait une requête qui sélectionne quelques informations sur les membres (ancienneté, pseudo, id..). J'aimerais y intégrer le nombre de vidéos qu'ils ont posté, sachant qu'on peut le déterminer en comptant le nombre d'occurences de la table video dans lesquelles l'UID est égal à celui du membre [:angelusdeus].
 
J'ai donc commencé doucement, en tapant ceci:

Code :
  1. $query = mysql_query("SELECT signup.UID,signup.username,signup.addtime FROM signup ORDER BY UID" );
  2. while($row = mysql_fetch_array($query))
  3. {
  4. simplify($row,'');
  5. $query2 = mysql_query("SELECT COUNT(*) AS videos FROM video WHERE UID=" . $UID . "" );
  6. $nb = mysql_fetch_array($query2);
  7. $nb_videos = $nb['videos'];
  8. $old = floor((time()-$addtime)/(3600*24));
  9. echo $username . ' - Inscrit depuis ' . $old . ' jours - ' . $nb_videos . ' vidéos <br />';
  10. }


 
Tout va bien sauf que comme vous l'aurez compris, une requête est éxécutée pour chaque membre... Et étant donné que la BDD s'agrandit de jours en jours, le serveur va pas aimer [:delarue5].
J'ai donc cherché à intégrer mon COUNT dans la première requête par le biais d'une jointure, mais je ne vois pas trop comment faire, et les problèmes semblables cherchés sur Google ne sont pas concluants.
 
Merci d'avance et bonne après-midi.


Message édité par Zorro561 le 03-06-2007 à 14:55:33
mood
Publicité
Posté le 03-06-2007 à 12:49:30  profilanswer
 

n°1569276
mrbebert
Posté le 03-06-2007 à 13:45:22  profilanswer
 

SELECT signup.UID,signup.username,signup.addtime, COUNT(video.UID) AS nb_videos
FROM signup
LEFT JOIN video ON signup.UID=video.UID
GROUP BY signup.UID
ORDER BY signup.UID
 
 
A voir si ca marche bien pour les membres qui n'ont pas posté de vidéo (nb_videos pourrait être à NULL au lieu de 0) [:figti]


Message édité par mrbebert le 03-06-2007 à 14:20:25
n°1569278
Zorro561
Posté le 03-06-2007 à 13:57:16  profilanswer
 

Hum non ça bugue, la requête semble fausse. Par contre le COUNT là, il compte le nombre de vidéos au total non ?

n°1569282
mrbebert
Posté le 03-06-2007 à 14:21:15  profilanswer
 

Avec un GROUP BY, ca devrait mieux aller :o

n°1569292
Zorro561
Posté le 03-06-2007 à 14:55:21  profilanswer
 

Nickel, merci beaucoup mec, faudra que je bosse les jointures/groupements SQL quand j'aurai le temps.


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

  [resolu]Jointure d'un COUNT dans une requête

 

Sujets relatifs
[updated]- [c] centraliser declaration de variable.[RESOLU] Tableaux d'objets en PHP
[Résolu]CheckBoxList c#[ORACLE] Problème execution requête SELECT
Erreur SQL [RESOLU][Resolu/VBA] Priorité des applications
surcharger l'opérateur '+=' ? [résolu]Problème de Makefile [Résolu]
triple requête de table sur phpbb[Résolu] Ajax - [object HTMLTextAreaElement]
Plus de sujets relatifs à : [resolu]Jointure d'un COUNT dans une requête


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