2012-07-09 3 views

Répondre

5
SELECT * 
FROM tlb_students 
WHERE date >= NOW() - INTERVAL 3 DAY 
ORDER BY date DESC 
LIMIT 20 
+0

Quelle est la différence entre l'utilisation de NOW() et CURDATE() Zane? Est-il possible d'obtenir des données avant hier avant-hier si je l'utilise tôt le matin? –

+3

@AJOP 'NOW()' produit un horodatage au format '' AAAA-MM-JJ HH: MM: SS' ', alors que 'CURDATE()' produit une date au format' 'AAAA-MM-JJ'', donc avec 'NOW()', vous obtenez des messages qui sont effectués dans EXACTEMENT 3 jours à partir de l'heure actuelle, car les heures/minutes/secondes sont prises en compte. Cela suppose que votre champ 'date' est de type' DATETIME' ou 'TIMESTAMP'. –

4
WHERE date >= (CURDATE() - INTERVAL 3 DAY) 
+0

Merci beaucoup. –

1

Une autre façon de le faire est:

SELECT * FROM tlb_students WHERE date < DATE_ADD(CURDATE(),INTERVAL -3 DAY) 
2
WHERE date >= subdate(NOW(), 2) 
Questions connexes