Rechercher : dans
Par :

{MySQL} requette sur la date d'hier

Dernière réponse le 10 jui 2009 à 17:18:07 nbonnet, le 10 jui 2009 à 10:35:47 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « {MySQL} requette sur la date d'hier » dans :
Sed - Mettre la première lettre de chaque mot en majuscule VoirCapitaliser la 1ère lettre de chaque mot Voici deux façons de procéder : Méthode 1 sed -r 's/(^.| .)/\U&/g' Méthode 2 sed 's/^.\| [a-z]/\U&/g' Méthode 3 sed -r 's/\
Démarrer une base de données avec un data file manquant VoirDémarrer une base de données Oracle avec un data file manquant Se connecter à SQL*DBA ou au Server Manager lancer « shutdown abort » lancer « startup mount » lancer la commande suivante pour remplacer le datafile (exemple …/oradata/temp_01.dbf)...
Introduction à Microsoft Windows VoirHistorique de Windows Windows est le système d'exploitation commercialisé par la société Microsoft, dont le siège est implanté à Seattle. La société Microsoft, initialement baptisé «Traf-O-Data» en 1972 a été rebaptisée «Micro-soft» en novembre...
SQL - Contraintes d'intégrité VoirExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient...
PL/SQL - Introduction au langage PL/SQL VoirIntroduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui...

1

dam75, le 10 jui 2009 à 11:28:25

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-functio­ns.html

Bon courage

Répondre à dam75

2

nbonnet, le 10 jui 2009 à 11:36:46

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 ---------------------------------------------------------------------
La vie est-elle trop courte pour rester derrière son écran?

Répondre à nbonnet

3

dam75, le 10 jui 2009 à 11:44:42

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

Répondre à dam75

4

nbonnet, le 10 jui 2009 à 14:04:44

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?
------------------------------------------------------------­---------
La vie est-elle trop courte pour rester derrière son écran?

Répondre à nbonnet

5

 nbonnet, le 10 jui 2009 à 17:18:07

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 ---------------------------------------------------------------------
La vie est-elle trop courte pour rester derrière son écran?

Répondre à nbonnet