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

Requêtes MySQL Discussion :

Enlever une année dans une clause where


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2016
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2016
    Messages : 79
    Points : 65
    Points
    65
    Par défaut Enlever une année dans une clause where
    Bonjour,
    Je tente désespérément d'enlever une année à ma requete mais ca ne fonctionne pas,
    Pouvez vous m'aider à corriger mon erreur svp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT count(*) cnt, o.date_operation dte 
    FROM adhesion a
    INNER JOIN operation o ON o.id_operation = a.idx_operation
    WHERE o.date_operation between curdate() and curdate() + interval '-12' MONTH AND o.idx_foyer = 10
    GROUP BY dte
    Merci d'avance pour vos retours

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Je te remets le BETWEEN dans le bon sens, et remplace le plus moins 12 par un moins 12.

    ...
    WHERE TRUE
        AND o.date_operation BETWEEN CURRENT_DATE - INTERVAL 12 MONTH AND CURRENT_DATE
        AND o.idx_foyer = 10
    ;
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2016
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2016
    Messages : 79
    Points : 65
    Points
    65
    Par défaut
    Merci c est parfait

  4. #4
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 392
    Points : 863
    Points
    863
    Par défaut
    Je te remets le BETWEEN dans le bon sens,
    Juste par curiosité, le BETWEEN a un sens avec mysql ?

    between 12 and 15 ne donne pas le même résultat que between 15 and 12 ?

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Il faut comprendre :

    WHERE colonne BETWEEN :borne_inférieure AND :borne_supérieure
    Ou :

    WHERE colonne >= :borne_inférieure AND colonne <= :borne_supérieure
    https://dev.mysql.com/doc/refman/8.0...erator_between
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par clavier12AZQSWX Voir le message
    Juste par curiosité, le BETWEEN a un sens avec mysql ?

    between 12 and 15 ne donne pas le même résultat que between 15 and 12 ?
    Les bornes du BETWEEN doivent être communiquées dans l'ordre : BETWEEN borne_inferieure AND borne_superieure.
    Et ceci est vrai avec tous les SGBD, pas seulement MySQL

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Salut à tous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WHERE TRUE
        AND o.date_operation BETWEEN CURRENT_DATE - INTERVAL 12 MONTH AND CURRENT_DATE
        AND o.idx_foyer = 10
    ;
    Pourquoi retrancher 12 mois et non 1 an ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WHERE TRUE
        AND o.date_operation BETWEEN CURRENT_DATE - INTERVAL 1 YEAR AND CURRENT_DATE
        AND o.idx_foyer = 10
    ;
    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

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

Discussions similaires

  1. Utiliser un alias de colonne dans une clause Where MS SQL
    Par sir dragorn dans le forum Langage SQL
    Réponses: 11
    Dernier message: 12/10/2011, 09h31
  2. Réponses: 3
    Dernier message: 11/12/2005, 11h15
  3. Réponses: 1
    Dernier message: 09/12/2005, 23h34
  4. fonction booleenne dans une clause where ?
    Par user_h dans le forum Oracle
    Réponses: 1
    Dernier message: 20/10/2005, 15h05

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