Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Aiuto per query

  1. #1

    Aiuto per query

    Salve, ho due tabelle composte così:

    Tabella "articolo": campi "id","titolo"
    Tabella "commento": campi "id","testo"

    La tabella commento contiene dei commenti che gli utenti lasciano sugli articoli. Quindi più commenti si riferiscono ad uno stesso articolo. I commenti con lo stesso valore di "id" si riferiscono allo stesso articolo.

    Avrei bisogno, con un'unica query, di ordinare la tabella "articolo" per numero di commenti ricevuti.
    Il numero di commenti lo ricavo con
    codice:
    SELECT COUNT(*) AS tot_commenti FROM commento GROUP BY id
    Vorrei ottenere una query che restituisse "id","titolo" e "tot_commenti". E' possibile farlo?

    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select articolo.id,articolo.titolo,count(commento.testo) as tot_commenti
    from articolo
    inner join commento
    on articolo.id = commento.id
    group by commento.id
    order by tot_commenti desc

  3. #3
    Prova cosi', spero di aver scritto tutto giusto:

    codice:
    "SELECT articolo.id, articolo.titolo, COUNT(*) AS tot_commenti
    FROM articolo INNER JOIN commento ON articolo.id = commento.id
    GROUP BY commento.id, articolo.titolo
    ORDER BY tot_commenti DESC"

    EDIT: ops, arrivato tardi :P :P :P

  4. #4
    perfetto! Grazie mille ad entrambi!

  5. #5
    ehm... torno sull'argomento a distanza di giorni perche' mi sono accorto che questa query funziona se ci sono record di "commento" associati a "articolo", altrimenti non mostra niente.
    Invece io vorrei che i record di "articolo" fossero mostrati comunque; se non ci sono corrispondenze in "commento" tot_commenti dovrebbe assumere valore 0

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    sostituisci inner con left

  7. #7
    Purtroppo neanche usando il LEFT JOIN ottengo i recorde per cui tot_commenti è zero. Mi restituisce tutti gli altri ma quelli li ignora...

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.