{MySQL} requette sur la date d'hier

Résolu
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;
--
---------------------------------------------------------------------
La vie est-elle trop courte pour rester derrière son écran?
Configuration: Mac OS X
Firefox 3.0.11

5 réponses

  1. Webmaster
    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
    1. 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
      1. Webmaster
        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
        1. 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
          1. 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