Devo estrarre l'ultima data di accesso. Le date sono contenute ovviamente in un campo.
Esiste una funzione per farlo o devo arrangiarmi con la logica? (cioè ordinare l'anno, poi il mese e infine il giorno)
Devo estrarre l'ultima data di accesso. Le date sono contenute ovviamente in un campo.
Esiste una funzione per farlo o devo arrangiarmi con la logica? (cioè ordinare l'anno, poi il mese e infine il giorno)
Credo che dopo la SELECT basti un ORDER BY.
![]()
select * from tabella order by campo_data desc limit 1
Grazie![]()
Prego. Ovviamente se ti serve solo la data puoi anche evitare di estrarre tutti i campi e fai solo
select campo_data from tabella order by campo_data desc limit 1
edit. In alternativa
select max(campo_data) from tabella
Sì, ci avevo già pensato a estrarre solo il campo data![]()
Una cosa: limit 1 significa che prende il primo che trova? Quindi nel caso in futuro dovessi prendere per esempio il secondo scriverei limit 2, giusto?
Sbagliato.Originariamente inviato da Horus-Ra
Quindi nel caso in futuro dovessi prendere per esempio il secondo scriverei limit 2, giusto?
Se tu scrivessi
select distinct campo_data from tabella order by campo_data desc limit 2
otterresti le due date distinte più recenti. Se volessi recuperare solo la seconda data più recente allora dovresti scrivere
select distinct campo_data from tabella order by campo_data desc limit 1,1
quindi col limit con due parametri dove il primo indica la riga di partenza (con la prima riga pari a 0) e il secondo il numero di righe che vuoi estrarre.
![]()
Grazie.
Un'ottima spiegazione, come sempre![]()