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

InterBase Discussion :

[Interbase] Compter le nombre d'année


Sujet :

InterBase

  1. #1
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 126
    Points
    126
    Par défaut [Interbase] Compter le nombre d'année
    Salut,

    La table Planning a pour champ DatePlan dont voici les valeurs :
    • 01/01/2004
      02/01/2004
      01/01/2005
      02/01/2005


    Je souhaite avoir comme résultat le nombre d'année, soit : 2.

    J'ai commencé la requête suivante mais ça compte le nombre de jour par année :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT COUNT(EXTRACT(YEAR FROM DatePlan)) AS Annee
    FROM Planning
    WHERE Matricule='AB001'
    GROUP BY EXTRACT(YEAR FROM DatePlan)

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Je comprend pas précisément quel est le besoin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select max(EXTRACT(YEAR FROM DatePlan))  - min(EXTRACT(YEAR FROM DatePlan))
    FROM Planning 
    WHERE Matricule='AB001'
    Pour un résultat plus précis il faudra je pense utiliser des fonctions UDF.

  3. #3
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 126
    Points
    126
    Par défaut
    Je précise :

    Dans l'exemple donnée, j'ai 4 lignes avec 2 dates pour l'année 2004 et 2 dates pour l'année 2005.
    Donc le résultat est 2 parce que j'ai 2 années (2004 et 2005).

  4. #4
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Ma requete retourne bien 2 avec votre jeu de test.

    Votre exemple est un cas particulier et votre question manquait de précision.

    D'un autre coté si vous aviez posé plus précisément votre question vous auriez probablement trouvé seul la solution.

    Si j'ai bien compris vous cherchez le nombre d'année distinte qu'il y a dans votre planning.

    Donc vous y etiez presque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(DISTINCT EXTRACT(YEAR FROM DatePlan)) AS Annee 
    FROM Planning 
    WHERE Matricule='AB001'
    Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    01/01/2004 
    02/01/2004 
    01/01/2006 
    02/01/2006
    retournera 2.

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

Discussions similaires

  1. [XL-2013] Compter le nombre d’occurrences par date (Mois, Année)
    Par carte_blanche dans le forum Excel
    Réponses: 8
    Dernier message: 23/04/2015, 13h12
  2. Réponses: 6
    Dernier message: 25/07/2011, 08h26
  3. Compter le nombre de jours dans une année
    Par Jay31 dans le forum SAS Base
    Réponses: 5
    Dernier message: 03/10/2008, 15h06
  4. [TListView] Compter le nombre de lignes
    Par agh dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2002, 20h25
  5. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41

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