Contare numero record uguali

Discussione in 'Database' iniziata da colomber, 9 Agosto 2017.

  1. colomber

    colomber Utente Attivo

    Registrato:
    4 Dicembre 2012
    Messaggi:
    232
    Mi Piace Ricevuti:
    1
    Punteggio:
    18
    Devo contare il numero di messaggio di ogni autore, alla mia query ho aggiunto le righe in neretto ma non funziona sapete perché?


    "SELECT id_messaggio, testo, data_creazione, autore, count(autore) as totale FROM messaggi WHERE id_categoria = '".$_GET["id_categoria"]."' GROUP BY autore ORDER BY data_creazione ASC";
     
  2. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.551
    Mi Piace Ricevuti:
    126
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    PHP:
    "SELECT autore, count(autore) as totale
    FROM messaggi
    WHERE id_categoria = '"
    .$_GET["id_categoria"]."'
    GROUP BY autore
    ORDER BY totale DESC, autore"
    se inserisci altre colonne nella "select", devono essere riprese anche nel "group by"
    quindi il conteggio non sarà più per autore ma per l' "elenco" delle colonne
     
  3. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.551
    Mi Piace Ricevuti:
    126
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    vedendo anche la discussione su HTML.it, devo dire che nessuno ti aiuta perché sono tutti concentrati sul "ragionamento" dettagli e totali che non possono essere ottenuti insieme,
    ebbene proviamo con questa query
    PHP:
    SELECT
       id_discussione
       
    ,titolo_discussione
       
    ,datacreazione_discussione
       
    ,autore_discussione
       
    ,( SELECT count(*) FROM discussione d2 WHERE d2.autore_discussione d1.autore_discussione totale
    FROM discussione d1
    WHERE id_categoria 
    'categoria'
    ORDER BY totale DESCautore_discussione
    con relativo risultato
    upload_2017-8-10_7-34-40.png
    query che se ti va bene, aggiusti tu per la tua necessità, come vedi ho usato un tuo esempio precedente per la prova

    ps, se il totale è per categoria, puoi inserire la clausola where anche nella select del totale stesso con una "AND"
    oppure puoi inserire una seconda select per ottenere il totale delle discussioni ed il totale per la categoria
     
    Ultima modifica: 10 Agosto 2017
  4. colomber

    colomber Utente Attivo

    Registrato:
    4 Dicembre 2012
    Messaggi:
    232
    Mi Piace Ricevuti:
    1
    Punteggio:
    18
    funziona perfettamente ti ringrazio ho imparato qualcosa di nuovo.

    ho modificato dalla query solo:

    ORDER BY totale DESC, autore_discussione

    in

    ORDER BY autore_discussione ASC


    l'ho tolto perché mi ordinava i messaggi in maniera errata.
     
    Ultima modifica: 10 Agosto 2017
Sto caricando...

Condividi questa Pagina