Compter le nombre de messages pour chaque membre

Résolu
Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   -  
jee pee Messages postés 31883 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

Une table contient les messages et l'identification du membre qui l'a rédigé, par exemple
Msg1 User1
Msg2 User1
Msg3 User2
Msg4 User2
Msg5 User2
Je voudrais comme résultat
User1 : 2 messages
User2 : 3 messages

Pouvez-vous m'aider à rédiger le Select ?
Je suppose qu'il doit y avoir un Count(Msg) et un Group by User ou Distinct User mais je n'y arrive pas.

Grand merci d'avance

Windows / Chrome 128.0.0.0

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    j'essaierais ceci:

    select user, count(*) from latable group by user
    1
  2. jee pee Messages postés 31883 Date d'inscription   Statut Modérateur Dernière intervention   9 979
     

    Bonjour,

    Essayer

    select user, count(*) from table group by user

    en mysql plutôt que * je pense qu'il faut mettre le nom d'un champ sur couni(), peut être count(msg) comme tu l'indiques


    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      count(msg) retourne le nombre d'enregistrements où le champ msg est non null.

      0
      1. jee pee Messages postés 31883 Date d'inscription   Statut Modérateur Dernière intervention   9 979 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         

        merci, c'est donc pareil qu'Oracle. je crois avoir vu un jour un sql où * n'était pas pris en compte, ce n'est donc pas mysql

        0
  3. Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   11
     

    Merci,

    j'ai juste du ajouter Count(*) as Num 

    select User, count(*) as Num FROM Messages group by User
    0