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

    [MySQL] raggruppare per mese

    Inserisco nel db una riga per ogni visita che ricevo sulla pagina, ora però vorrei tirare fuori le visite di un intero anno distribuite per ogni mese, quindi la lista dei mesi con il totale delle visite per ciascuno. la struttura della tabella è la seguente

    un campo id
    un campo date che indica la data

    qualcosa tipo SELECT COUNT(boh), ....boh...
    FROM visite
    GROUP BY ???mese????
    WHERE data between(1-1-2005;31-12-2005)

    come posso scrivere??

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select extract(year_month from campo_data) as anno_mese,count(campo_data) as tot
    from visite
    where year(campo_data) = 2005
    group by extract(year_month from campo_data)

  3. #3
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da nicola75ss
    codice:
    select extract(year_month from campo_data) as anno_mese,count(campo_data) as tot
    from visite
    where year(campo_data) = 2005
    group by extract(year_month from campo_data)
    grazie, è perfetto!!

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    In realtà se devi fare ricerche solo su un anno specifico la query si può semplificare così (il raggruppamento su mese/anno risulta superfluo). Vedi un pò tu.

    codice:
    select month(campo_data) as mese,count(campo_data) as tot
    from visite
    where year(campo_data) = 2005
    group by month(campo_data)

  5. #5
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da nicola75ss
    In realtà se devi fare ricerche solo su un anno specifico la query si può semplificare così (il raggruppamento su mese/anno risulta superfluo). Vedi un pò tu.

    codice:
    select month(campo_data) as mese,count(campo_data) as tot
    from visite
    where year(campo_data) = 2005
    group by month(campo_data)
    anche meglio!! thanks!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.