Ciao a tutti
Devo fare una query che mi estrarre i risultanti in ordine dove la data e piu vicina a quella attuale come faccio?
Ciao a tutti
Devo fare una query che mi estrarre i risultanti in ordine dove la data e piu vicina a quella attuale come faccio?
techno, dacci qualche info in più. com'è fatta la tabella e magari un esempio di quello che vuoi ottenere
allora io ho questa tabella magazine con 1 campo "datascadenza" ora dal momento che apro questa pagina mi deve estrarre solo i dati dove la "datascadenza" e piu vicina alla data attuale
la butto lì, poi adattala
SELECT ABS(DATEDIFF(datascadenza,dataodierna,'d')), altre_colonne FROM tabella ORDER BY 2 LIMIT 1
Scusa optime ma DATEDIFF non ha solo due parametri?
E' un errore di battitura o c'è una funzione che non conosco?
Poi strutturata sul LIMIT 1 se ci sono due scadenze lo stesso giorno ne tira fuori solo una.
il terzo parametro indica l'unità di misura (giorni, mesi, anni, minuti ecc). per il limit, mi pare di aver capito che a techno ne serva una (ma è molto avaro di indicazioni...)
hai ragione, mysql ragiona solo a giorni. mi sono sconfusionatocon sql server
scusatemi il ritardo ma il lavoro mi a preso molto tempo grazie optime per la risposta mi serve un informazione ancora il terzo paramentro cosa ci devo mettere?
Poi non e proprio questa che cerco io io non devo estrarre un solo rislutato ma tutti i risultati ordinati con datascadenza piu vicina a quella corrente.
Ultima modifica di techno; 28-12-2015 a 14:24
facendo questo:
SELECT ID, Articolo, DataScadenza, ABS(DATADIFF(DataScadenza,NOW(),'d')) FROM magazine WHERE $where ORDER BY 2 DESC
Mi da questo errore:
Warning: mysqli_error() expects exactly 1 parameter, 0 given
se vuoi TUTTI i risultati togli il LIMIT