Compter le nombre de messages pour chaque membre

Résolu

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. Contributeur Ambassadeur

    bonjour,

    j'essaierais ceci:

    select user, count(*) from latable group by user
    1
    1. Modérateur

      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. Contributeur Ambassadeur

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

        0
      2. Modérateur
        @yg_be

        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
    2. Merci,

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

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