Datums worden opgeslagen als DATETIME in mijn database. Nu is het de bedoeling dat ik 3 willekeurige items uit de db haal, waar de datum in de afgelopen 200 dagen ligt.
Ik doe dit als volgt:
WHERE UNIX_TIMESTAMP(datum) > UNIX_TIMESTAMP(NOW() - 200*86400) ORDER BY RAND() LIMIT 3
Maar dit doet het niet zoals ik had gehoopt, iemand tips om dit beter te doen?
Tip: Vergeet dat een Unix-timestamp bestaat, daar heb je zo zelden iets aan dat het weinig zin heeft om hier mee te gaan klussen. Het levert veel meer problemen op dan oplossingen.
SELECT datum
FROM tabelnaam AS t1
WHERE datum = (
SELECT datum
FROM tabelnaam AS t2
WHERE DATEDIFF( curdate( ) , datum)
BETWEEN 0
AND 200
)
ORDER BY RAND( )
LIMIT 3