Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505

    [MySql] - ritornare più count(*)

    salve,

    ho questa tabella messaggi, ogni messaggio è collegato a una discussione (id); i messaggi sono creati da vari utenti.

    es:

    id111 mex1 user1
    id111 mex2 user2
    id111 mex3 user4
    id222 mex4 user2
    id222 mex5 user1
    id111 mex6 user1

    io devo selezionare gli user che hanno scritto messaggi per un certo id (es tutti gli user che hanno scritto messaggi per id111); una volta selezionati gli utenti per quel id, devo ritornare il totale dei messaggi totali scritti da quegli user.

    nel esempio sopra, se prendo in considerazione l'id111, devo ritornare 3 user (user1, user2, user4, cioè gli utenti che hanno scritto messaggi per quel'id) e il rispettivo numero di messaggi totali scritti da quegli utenti (quindi user1=3, user2=2, user4=1).

    ho provato con questa query :
    codice:
    SELECT author, count(*) FROM forummessage WHERE author IN
    (SELECT author FROM forummessage WHERE topicid='id111')
    ma mi fà (ovviamente) il count totale per il primo user. come posso fare per ritornare più count(*)? (correlato con ogni user).

    saluti

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select f.author,count(*) as messaggi from forummessage as f
    inner join 
    (select author from forummessage where topicid = 111 group by author) as fm
    on f.author = fm.author
    group by f.author

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    505
    grazie mille stè query alle volte proprio non mi vengono...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.