2009-10-20 6 views
1

Je veux sélectionner des données entre 1 semaine données jusqu'à ce que les données d'aujourd'hui:ma requête mysql est-elle correcte? (Ne semble pas comme ça)

SELECT username, 
     email, 
     date 
FROM users 
WHERE date(date) BETWEEN (CURDATE() AND (CURDATE() - 7)) 
ORDER BY userid DESC 
LIMIT 10 

vous espérez les gars peuvent me aider. Ça ne marche pas!!!

Cette question a été répondue par Lexu

(Quelqu'un peut-il fermer cette question?)

+0

Avez-vous eu erreur dans la sortie ou emty réglée? –

+0

Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'ORDER BY userid DESC LIMIT 10' à la ligne 1 – flashnewbie

+0

si je change pour: SELECT nom d'utilisateur, email, date FROM utilisateurs WHERE date (date) = CURDATE () Aucune erreur renvoyée, mais 0 résultat ... pourquoi ??? J'ai 100 sur les données dans ces tableaux ... – flashnewbie

Répondre

2
SELECT username 
    , email 
    , date 
FROM users 
WHERE date(date) BETWEEN DATE_SUB(CURDATE(), interval 1 week) 
        AND CURDATE() 
ORDER BY userid DESC 
  • BETWEEN demande que vous donnez d'abord la limite inférieure.
  • utilisation DATE_SUB avec un intervalle de 1 semaine
+0

fonctionne parfaitement ... Merci beaucoup! – flashnewbie

+0

votre bienvenue .. amusez-vous! – lexu

Questions connexes