• User Newbie

    differenza date in mysql

    Ciao,
    ho un database in Mysql che "comunica" con una pagina php....in questa pagina voglio visualizzare solo i record che hanno come campo data, un valore che corrisponde alla settimana in corso! Mi spiego meglio....vorrei sapere come visualizzare i record inseriti nell'ultima settimana!!!!!
    Grazie


  • Super User

    Sia fd il campo data, e cInizio e cFine rispettivamente i valori espressi nel formato timestamp che rappresentano il giorno di inizio ed il giorno di fine settimana allora, per esempio, una soluzione potrebbe essere la seguente:

    select [lista campi] from database.tabella where fd between date(cInizio) and date(cFine) order by tz;
    

    Assicurati, al fine di salvaguardare la prestazione del comando, di creare un indice in corrispondenza di fd

    alter table database.tabella add index(fd);
    

  • User Newbie

    no....forse mi sono espressa male.....volevo dire che vorrei visualizzare i record inseriti negli ultimi 7 giorni


  • Super User

    Fissi come cInizio l'inizio della settimana che vuoi considerare, e come cFine cInizio maggiorato di sette giorni nella codifica aaaammgg. Con il meccanismo che ti ho suggerito puoi leggere gamme di record in sottoinsiemi riferiti nel tempo. Basta fissare l'inizio e la fine.