{MySQL} requette sur la date d'hier

Résolu/Fermé
nbonnet Messages postés 478 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 4 septembre 2013 - 10 juil. 2009 à 10:35
nbonnet Messages postés 478 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 4 septembre 2013 - 10 juil. 2009 à 17:18
Bonjour,

J'aimerais faire une requette qui me selectionne des informations sur la date J-1.

Elle me servira sur un script automatique pour vérifier des authentifications.

pour l'instant ma requette donne le nombre d'authentification jusqu'à J-1 et moi je ne veux que J-1

Merci de votre aide

ps ma requette :

SELECT Login, COUNT(*)
FROM T_Authentification
WHERE Date_Debut < CURRENT_DATE
AND Date_Fin <CURRENT_DATE
GROUP BY Login;
A voir également:

5 réponses

dam75 Messages postés 1041 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 67
10 juil. 2009 à 11:28
Bonjour,
je suppose que CURRENT_DATE contient la date de référence ? pourquoi ne pas utiliser NOW() ?

Essaie un truc comme ca :
SELECT Login, COUNT(*)
FROM T_Authentification
WHERE Date_Debut = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)
AND Date_Fin = DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)
GROUP BY Login; 


Pour la doc complète : http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html

Bon courage
0
nbonnet Messages postés 478 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 4 septembre 2013 46
10 juil. 2009 à 11:36
Déjà merci de répondre.

CURRENT_DATE est le seul moyen que j'avais trouvé pour voir la date du jour.

Ta requette ne me renvoi rien.

J'ai tenter celle ci qui me renvoie ce que je veux.

SELECT Login, COUNT(*) FROM T_Authentification WHERE DAYOFMONTH(Date_Debut)< DAYOFMONTH(CURRENT_DATE) AND DAYOFMONTH(Date_Debut)> DAYOFMONTH(CURRENT_DATE)-2 GROUP BY Login

Mais je la trouve pas top je pense qu'on peut l'améliorer mais je ne sait pas comment
0
dam75 Messages postés 1041 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 67
10 juil. 2009 à 11:44
La syntaxe la plus optimisée (et surtout qui fonctionne) est pourtant le DATE_SUB qui est fait pour ca ...
Ta requete ne marchera pas puisqu'elle te sortira les lignes de TOUS les mois et de TOUTES les années ...
ex on est le 10/07/2009 => ta requete te repondra aussi bien le 09/01/1980 que le 09/12/2032 :)

tes champs date_debut et date_fin sont bien de type date et pas datetime ?

Voir aussi cette astuce : http://www.commentcamarche.net/faq/sujet 15019 mysql select yesterday hier
0
nbonnet Messages postés 478 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 4 septembre 2013 46
10 juil. 2009 à 14:04
Oki c'est vrai que je ne travail que sur le jour et le mois mais pas l'année. je vais essayer de modifier ceci. sinon mes champs sont des champs datetime. c'est quoi la différence?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nbonnet Messages postés 478 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 4 septembre 2013 46
10 juil. 2009 à 17:18
Ca y est ma requette fonctionne j'utilise la fonction DATE_SUB mais je met des <, > pour mes comparaison et cela fontionne exactement comme je le veux^^.

Merci de ton aide
0