Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    [MySQL] una count su 6 sole occorrenze!

    Ho bisogno di fare una COUNT un po'...particolare...

    Codice PHP:
    SELECT COUNT(id) AS tot
    FROM visite

    nella tabella visite ogni visita ad ogni pagina viene memorizzata, con questa query quindi, vado a selezionare il totale delle visite, fin qui nulla di strano, il problema è che non voglio sapere le visite totali, ma le visite totali dei 6 prodotti più visitati..

    per estrapolare i sei prodotti più visitati faccio una cosa di questo tipo:

    Codice PHP:
    SELECT prodotti.idCOUNT(prodotti.id) AS n_visite
    FROM prodotti JOIN visite ON prodotti
    .id=visite.prod_id
    GROUP BY prodotti
    .id
    ORDER BY n_visite DESC
    LIMIT 0
    ,6
    praticamente li seleziono tutti ordinati per n_visite, e poi li taglio con il LIMIT. Ora, non posso usare il limit anche sulla query

    Codice PHP:
    SELECT COUNT(id) AS tot
    FROM visite

    perchè non ha senso, il risultato è uno solo, il totale, e non una lista, quindi la domanda è: c'è un modo per veicolare una COUNT di questo tipo a prendere in considerazione solo i primi 6 prodotti più visitati? Grazie

  2. #2
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    potrei fare un ciclo a vuoto solo per salvarmi il totale e poi una ltro ancora per l'estrazione dei dati, però mi piacerebbe sapere se c'è un modo per farlo solo con una query

  3. #3
    dovrebbe bastare aggiungere il conteggio delle visite alla query che gia' fai.

    codice:
    SELECT prodotti.id, 
           COUNT(prodotti.id) AS n_visite,
           COUNT(visite.id) AS tot
    FROM visite 
    left JOIN prodotti ON prodotti.id = visite.prod_id
    GROUP BY prodotti.id
    ORDER BY n_visite DESC
    LIMIT 0,6;
    oppure non ho capito la tua richiesta.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.