Compter sur deux tables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Compter sur deux tables

par cicom » 17 févr. 2008, 23:38

Oué je suis au courant qu'on ne peut (presque) rien casser en php/sql mais bon une fois que l'on a lancé un sujet je trouve plus convivial de le traiter tous ensemble plutôt que seul dans son coin non?
En tous cas merci pour le coup de main!

par Truc » 16 févr. 2008, 13:58

Je vais tester par moi même pour voir ce que SQL me rend et voir ce qu'il se passe...
la voix de la sagesse :merci:

Faut pas avoir peur de tester par toi même surtout que tu avais fait le plus gros du travail.
Au pire tu risque un message d'erreur pas bien grave ;)

par cicom » 16 févr. 2008, 09:48

Ok pas de problème et à la prochaine requête SQL :wink:

par zeus » 16 févr. 2008, 09:30

Ah d'accord ...

Je pensais que tu me disais que ta requête fonctionnait ;)

par cicom » 16 févr. 2008, 09:17

Salut,
Bah je sais pas si elle est résolue j'attendais que tu corriges, comme tu pourras le voir sur tous mes messages précédents je ne suis pas du genre à oublier le résolu quand c'est le cas :wink:
Je vais tester par moi même pour voir ce que SQL me rend et voir ce qu'il se passe...
Merci de ton aide, je mettrai résolu quand ça marchera :P


edit
SUper ca marche! Merci beaucoup! Je mets résolu!

par zeus » 16 févr. 2008, 00:08

Modération :
cicom, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par cicom » 15 févr. 2008, 23:28

J'aurais tendance à faire un petit alias comme cela correct?
J'ai oublié un truc faut que je selectionne le pseudo aussi.
SELECT count(*) AS nbcom, pseudo FROM comment WHERE reg = '1' GROUP BY pseudo ORDER BY nbcom DESC
Merci beaucoup de ton aide.

par zeus » 15 févr. 2008, 22:53

pour le GROUP BY, il y a juste les parenthèses en trop.

Sinon, COUNT(*) représente le nombre de commentaires par pseudo. Si tu veux trier par nombre de commentaire, que faut-il mettre dans le ORDER BY ? ;)

par cicom » 15 févr. 2008, 22:48

Salut
alors un truc dans ce genre (je ne connais pas group by alors je fais un essai)
SELECT count(*) FROM comment WHERE reg = '1' GROUP BY (pseudo) ORDER BY quoi? DESC ??
Merci de ton aide!

par zeus » 15 févr. 2008, 21:40

Alors la résolution passe par plusieurs points

_En sélectionnant tous les enregistrements dans ta table commentaire

_En ajoutant un group by sur le pseudo, tu vas regrouper les enregistrements pour obtenir une seule occurrence par pseudo

_En plaçant un COUNT(1) dans le SELECT, tu vas obtenir le nombres de commentaires par pseudo.

La jointure avec la table membre n'est pas utile si tu n'a pas besoin des données de cette table

Compter sur deux tables

par cicom » 15 févr. 2008, 21:24

Bonjour à tous,
Je décris mon problème j'ai une table membre avec un champ pseudo(et d'autres champs) et une table comment avec notamment aussi un champ pseudo.
Je voudrais savoir s'il est possible par simple requêtes sql de compter le nombre d'équivalence de la table comment avec la table membres et de trier par ordre décroissant (en fait l'idée c'est de compter le nombre de commentaires pour chaque membre et de les trier par ordre décroissant de commentaires.
Une idée de la syntaxe (jointure peut être? ou restriction cartésienne...)
Merci à tous de votre aide!