Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Calcolare la Frequenza di un Record??

    Salve a tutti, ho un quesito apparentemente semplice ( forse sarà semplice per chi è più esperto di me riguardo query MySql ) :

    Ho una tabella di questo tipo:

    ID | COMMENTO | ID_DESTINATARIO


    1 | Ciao | 15
    2 | Ciao | 16
    3 | Ciao | 16
    4 | Ciao | 15
    5 | Ciao | 15
    6 | Ciao | 15
    7 | Ciao | 17
    8 | Ciao | 15

    Come potete notare il destinatario corrispondente al numero 15 si ripete in più righe sella tabella.

    Come faccio a tirare fuori ID_DESTINATARIO che ha MAGGIORE FREQUENZA in una tabella del genere?

    Probabilemente è una cavolata...

    La mia idea è troppo contorta:

    ho pensato di fare un ciclo while che controlla tutti gli ID_DESTINATARIO ( elencati in un altra tabella). Controllandoli uno ad uno posso calcolare quanti record sono associati a ciascun ID_DESTINATARIO e tramite un confronto delle quantità volta per volta posso far emergere l'ID_DESTINATARIO con maggiore frequenza.

    Tutto questo è un tantino contorto e sono sicuro che esiste qualche funzione MySql che lo fa in un attimo

    Grazie mille!

  2. #2
    Codice PHP:
    SELECT *, COUNT( * )  AS frequenza
    FROM tabella
    GROUP BY ID_DESTINATARIO 

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Mmm sto provando...

    Ma quando gli faccio un:
    Codice PHP:
    <?php echo row_nomerecordset['frequenza'];?>
    Mi mostra un numero (2 nel caso specifico).

    Riflettendo:

    - Le righe con lo stesso ID_DESTINATARIO sono sicuramente più di 2

    - 2 non può essere un ID perchè la riga a cui corrisponde è unica e non ha senso

    - forse è solo primo record del mio recordset e se lo facessi stampare tutto tramite un iterazione avri i gruppi ben divisi... ma a me serve solo l'ID_DESTINATARIO più frequente :|

    - cosa sarà sto 2??

    Sbaglo a far scrivere il risultato della query?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select id_destinatario,count(id_destinatario) as quanti
    from tabella
    group by id_destinatario
    order by quanti desc
    limit 1

  5. #5

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.