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.
hai ragione, mysql ragiona solo a giorni. mi sono sconfusionatocon sql server
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...)
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