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 Oracle Discussion :

Compte par année


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Clavardeur en tout genre
    Inscrit en
    Août 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Clavardeur en tout genre

    Informations forums :
    Inscription : Août 2019
    Messages : 60
    Points : 59
    Points
    59
    Par défaut Compte par année
    Bien le bonjour à tous,

    j'essaye de compter un nombre de dossier par technicien et par année . La date (da_ap) est au format YYYY-MM-dd. La requête affiche bien les années mais ne cumule pas le nombre de dossiers, le résultat est fractionné.
    Auriez vous une piste de travail sur le sujet ?

    Merci pour votre temps.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT COUNT(nu_int)AS Dossiers_Travaux,code_techn AS technicien,
    CASE 
    WHEN da_ap BETWEEN '2021-01-01' AND '2021-12-31' THEN '2021'
    WHEN da_ap BETWEEN '2022-01-01' AND '2022-12-31' THEN '2022'
    WHEN da_ap BETWEEN '2023-01-01' AND '2023-12-31' THEN '2023'
    END AS Année
    FROM en_cours
    GROUP BY code_techn, da_ap
    ORDER BY code_techn
    11 TECH1 2023
    3 TECH1 2023
    3 TECH1 2023
    8 TECH1 2023

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Je dirais qu'au lieu de mettre "da_ap" tel quel dans le GROUP BY, il faut y mettre toute l'expression CASE que vous avez dans le SELECT.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Bonjour,

    Il y a plus simple. En supposant que la colonne est bien de type DATE:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT(nu_int)AS Dossiers_Travaux,code_techn AS technicien,
    to_char(da_ap, 'yyyy') AS Annee
    FROM en_cours
    GROUP BY code_techn, to_char(da_ap, 'yyyy')
    ORDER BY code_techn;
    Si la date n'est pas de type DATE (hérésie), alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT COUNT(nu_int)AS Dossiers_Travaux,code_techn AS technicien,
    substr(da_ap, 1, 4) AS Annee
    FROM en_cours
    GROUP BY code_techn, substr(da_ap, 1, 4)
    ORDER BY code_techn;

  4. #4
    Membre du Club
    Homme Profil pro
    Clavardeur en tout genre
    Inscrit en
    Août 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Clavardeur en tout genre

    Informations forums :
    Inscription : Août 2019
    Messages : 60
    Points : 59
    Points
    59
    Par défaut
    Merci à vous pour votre aide et pour vos réponses !

    La solution "hérésie" de Vanagreg est fonctionnelle, il semblerait que la colonne ne soit pas de type "DATE", j'en découvre tous les jours...

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    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 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Ou encore, utiliser EXTRACT :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select code_techn               as technicien
         , extract(year from da_ap) as annee
         , count(*)                 as nb_dossier
    from T1
    group by code_techn
           , extract(year from da_ap)

  6. #6
    Membre du Club
    Homme Profil pro
    Clavardeur en tout genre
    Inscrit en
    Août 2019
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Clavardeur en tout genre

    Informations forums :
    Inscription : Août 2019
    Messages : 60
    Points : 59
    Points
    59
    Par défaut
    Merci Escartefigue pour ta réponse, j'avais tenter une approche comme celle la cependant je rencontrais une erreur que je pense dû au fait que la colonne ne soit pas de type DATE.

    ORA-30076 champ d'extraction non valide pour la source d'extraction.

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

Discussions similaires

  1. [MCD] Nombre d'heures travaillées par mois par année par compte
    Par Tidus159 dans le forum Schéma
    Réponses: 9
    Dernier message: 11/03/2011, 12h20
  2. [Sécurité] connexion sur son compte par un lien
    Par Zen_Fou dans le forum Langage
    Réponses: 6
    Dernier message: 07/04/2006, 10h51
  3. [HTML / CSS] Prise en compte par le CSS de mon code exporte
    Par barthelv dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 27/12/2005, 15h10
  4. Quel est le compte par défaut ?
    Par shinshon dans le forum Débuter
    Réponses: 2
    Dernier message: 16/10/2005, 09h03
  5. [sql 9i] group by par années ;)
    Par booth dans le forum Oracle
    Réponses: 7
    Dernier message: 04/10/2005, 10h42

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