Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241

    [SQL] contare tutti i record che hanno una certa data

    salve
    ho un database che in maniera primitiva monitorizza gli accessi al sito

    nella tabella degli accessi c'è un campo datetime dove naturalmente inserisco data ed ora dell'accesso

    come faccio a rappresentare questi dati?
    per me sarebbe sufficente al momento creare un elenco del tipo:
    codice:
    Anno 2005
      Mese Aprile
        1(venerdi)   50accessi 
        2(sabato)    30accessi 
        3(domenica)  30accessi 
        4(lunedi)    70accessi
    so che devo elaborarli successivamente in asp, ma come devo costruire la query che mi conta gli accessi prendendo giorno per giorno?

    Penso che si faccia con il sum ed il group by, ma la mia conoscenza teorica di mysql non va oltre select update insert

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: [SQL] contare tutti i record che hanno una certa data

    Originariamente inviato da s0r4
    salve
    ho un database che in maniera primitiva monitorizza gli accessi al sito

    nella tabella degli accessi c'è un campo datetime dove naturalmente inserisco data ed ora dell'accesso

    come faccio a rappresentare questi dati?
    per me sarebbe sufficente al momento creare un elenco del tipo:
    codice:
    Anno 2005
      Mese Aprile
        1(venerdi)   50accessi 
        2(sabato)    30accessi 
        3(domenica)  30accessi 
        4(lunedi)    70accessi
    so che devo elaborarli successivamente in asp, ma come devo costruire la query che mi conta gli accessi prendendo giorno per giorno?

    Penso che si faccia con il sum ed il group by, ma la mia conoscenza teorica di mysql non va oltre select update insert
    SELECT COUNT(*) FROM tabella GROUP BY campodata

  3. #3
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    si ma il campo delle data è un datetime, quindi così li raggrupperei in base alla data e all'ora, mentre a me serve raggrupparli per ogni giorno del mese

  4. #4
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da s0r4
    si ma il campo delle data è un datetime, quindi così li raggrupperei in base alla data e all'ora, mentre a me serve raggrupparli per ogni giorno del mese
    select count(*) from tabella group by datepart(year,campodata),datepart(month,campodata) ,datepart(day,campodata)

    perché il group by funziona così:
    raggruppa per anno se gli anni sono uguali passa ai mesi ese questi sono uguali passa ai giorni.
    Per sicurezza prova ma credo sia proprio così

  5. #5
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    scusa non ho capito

    la tabella si chiama Accessi ed il campo datetime Data, quindi dovrei scrivere qualcosa del tipo:

    codice:
    sql = "SELECT COUNT(*) FROM Accessi GROUP BY datepart(year, Data),datepart(month, Data),datepart(day,Data)"
    ma datepart in mysql non funziona...

  6. #6
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da s0r4
    scusa non ho capito

    la tabella si chiama Accessi ed il campo datetime Data, quindi dovrei scrivere qualcosa del tipo:

    codice:
    sql = "SELECT COUNT(*) FROM Accessi GROUP BY datepart(year, Data),datepart(month, Data),datepart(day,Data)"
    ma datepart in mysql non funziona...
    Non esiste un comando che fa la stessa cosa di datepart in mysql?
    Cmq la query che hai scritto è esatta cerca solo una funzione analoga a datepart. In bocca al lupo

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.