2010-05-04 6 views

Répondre

51
SELECT * 
FROM users 
WHERE user_datecreated >= NOW() - INTERVAL 3 MONTH 
10

Si vous souhaitez ignorer l'heure à laquelle un utilisateur a été créé, vous pouvez utiliser ce qui suit. Donc, cela montrera quelqu'un créé à 08h00 si vous exécutez l'exemple de requête de Quassnoi à 14h00.

SELECT * 
FROM users 
WHERE DATE(user_datecreated) >= DATE(NOW() - INTERVAL 3 MONTH) 
2

par date (user_datecreated) empêche mysql d'utiliser tous les index sur la colonne, ce qui rend la requête vraiment lent lorsque la table se développe. Vous ne devez pas ignorer l'heure à laquelle l'utilisateur a été créé si vous supprimez l'heure de la date "il y a 3 mois", car tous les utilisateurs créés ce jour-là correspondent à la condition.

SELECT * 
FROM users 
WHERE user_datecreated >= DATE(NOW() - INTERVAL 3 MONTH); 
Questions connexes