MySQL, hente rader utifra dato.

Har drevet litt med strømforbruks databasen i det siste, der er hver dato lagret som datatypen ‘date’ i mysql. Jeg hadde behov for å vise de siste X målingene.
For å f.eks hente ut de siste ti radene kunne man brukt følgende:

SELECT * FROM tabell ORDER BY id DESC LIMIT 10;

Men da ville de blitt vist baklengs, altså nyeste først. For å hente de ut i samme rekkefølge som de ble lagt inn må man benytte seg av dato feltet, og litt av mulighetene man har med det.

SELECT * FROM power WHERE date = DATE_SUB(CURDATE(), INTERVAL 10 DAY)

Denne vil returnere de siste 10 dagers rader. I mitt tilfelle har jeg bare en entry pr dag, så jeg vil ikke støte på noen problemer der. Men om man har flere pr dag vil denne queryen returnere alle rader med dato nyere enn 10 dager tilbake i tid.

0 replies

Legg igjen et svar

Want to join the discussion?
Feel free to contribute!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *