IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Rechercher les documents des 7 derniers jours...


Sujet :

SQL Procédural MySQL

  1. #1
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut Rechercher les documents des 7 derniers jours...
    Bonjour à tous.

    J'ai une table "demandes_docs", contenant une date de téléchargement (date_dl) et un id du doc téléchargé (id_doc).

    Je cherche à extraire tout les documents ayant été téléchargés ces sept derniers jours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM DEMANDES_DOCS WHERE dateDiff("dd",date_dl,getdate())<7 ORDER BY date_dl DESC, id_doc
    Problème, message d'erreur suivant :
    Wrong query : Erreur de syntaxe près de 'getdate())<7 ORDER BY date_dl DESC, id_doc' à la ligne 1
    J'ai beau me creuser la tête, je sèche complètement

    Si vous avez des idées, toutes seront les bienvenues

    Merci d'avance
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    Utiliser limit?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM DEMANDES_DOCS  ORDER BY date_dl DESC, id_doc LIMIT 7

  3. #3
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: Rechercher les documents des 7 derniers jours...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM DEMANDES_DOCS
     
    WHERE 
      date_dl BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
     
    ORDER BY date_dl DESC, id_doc
    (j'ai supprimé le DATEDIFF, vu qu'il ne marche pas avec toutes les versions)

    Tout sur les fonctions de date:
    http://pcaboche.developpez.com/artic...ns_date_heure/
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    Une petite question come ca en passant. N est il pas mieux d utiliser les TIMESTAMP quand on doit travailler sur les date?

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par kilanepa
    Une petite question come ca en passant. N est il pas mieux d utiliser les TIMESTAMP quand on doit travailler sur les date?

    La réponse dans la doc:

    Citation Envoyé par Doc MySQL
    Remember that although DATETIME, DATE, and TIMESTAMP values all can be specified using the same set of formats, the types do not all have the same range of values. For example, TIMESTAMP values cannot be earlier than 1970 or later than 2037. This means that a date such as '1968-01-01', while legal as a DATETIME or DATE value, is not valid as a TIMESTAMP value and is converted to 0.
    Avec un TIMESTAMP, tu risques d'avoir un "bug de l'an 2037"

    Avec un DATETIME, tu peux aller au-delà (au moins jusqu'en 2069, il faudrait que je vérifie)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    ah ok . merci =) . J espere quand meme qu en l an 2037. on aura passé a Mysql 17.3 qui prend en charge les timestamp plus grand.

    Je prefere quand meme les timestamp pour pouvoir utiliser les requete "ON UPDATE CURRENT TIMESTAMP" pour les news 8)

  7. #7
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par kilanepa
    ah ok . merci =) . J espere quand meme qu en l an 2037. on aura passé a Mysql 17.3 qui prend en charge les timestamp plus grand.
    Oh oui, bien sûr. En 2037, on n'aura plus des architectures 32 ou 64 bits comme à l'heure actiuelle, mais peut-être bien des architectures 256 ou 512 capable de gérer de très grands nombres ou des flottants avec une très grande précision...

    A cette époque MySQL sera peut-être largement dépassé par un autre SGBD encore plus performant et complètement gratuit. Dieu seul sait ce qui nous attend dans une 30aine d'années !

    Ah, si... les astronomes prévoient qu'en 2036 un gros astéroïde viendra froler la Terre, avec un risque de collision non négligeable et donc d'éradication de toute forme de vie. Sachant cela, on se demande bien pourquoi on est obligé de cotiser pour sa retraite...
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer les données des 30 derniers jours de l'année
    Par ableur dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 12/02/2015, 09h31
  2. Réponses: 3
    Dernier message: 20/02/2014, 15h34
  3. Conserver uniquement les backups des 7 derniers jours
    Par MinsK dans le forum Scripts/Batch
    Réponses: 21
    Dernier message: 25/02/2009, 17h18
  4. Récupérer les enregistrements des 3 derniers mois
    Par cmoiscrat dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/07/2006, 09h39
  5. Filtre sur les données des 3 derniers mois?
    Par Arkalys dans le forum Access
    Réponses: 2
    Dernier message: 21/10/2005, 09h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo