PeddaMedlem sedan juni 20006 032 inlägg Jag har ett fält av typen TIMESTAMP med CURRENT_TIMESTAMP satt som standard.
Jag vill kunna hämta:
dagens poster
poster för de sju senaste dagarna
och poster för de senaste 30 senaste dagarna
Använder jag t.ex
SELECT * FROM moodes WHERE moode = 1 AND date = CURRENT_TIMESTAMP
för att försöka hämta dagens poster så returneras inget då CURRENT_TIMESTAMP även innehåller tiden.
Hur ska man göra?
SPiNMedlem sedan mars 20007 896 inlägg För dagens poster:
select
*
from
moodes
where
`moode` = 1
and
timestampdiff(HOUR, `date`, NOW()) <= 24
För senaste sju dagarna:
...
where
timestampdiff(DAY, `date`, NOW()) <= 7
För 30 senaste dagarna:
...
where
timestampdiff(DAY, `date`, NOW()) <= 30
timestampdiff i manualen.
PeddaMedlem sedan juni 20006 032 inlägg Tack SPiN för ditt svar.
Men jag får ett felmeddelande. Har bara testat att hämta dagens poster ännu.
SELECT * FROM moodes WHERE moode = 1 AND TIMESTAMPDIFF(HOUR, date) <= 24
Denna fråga returnerar false.
MySQL 5.1.36
SPiNMedlem sedan mars 20007 896 inlägg Det var inte så konstigt. ;) Hade ju glömt att ta med den tredje parametern i funktionsanropet!
Har uppdaterat mitt svar.