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

Oracle Discussion :

denombrement par mois entre 2 dates


Sujet :

Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut denombrement par mois entre 2 dates
    Bonjour,

    j'aimerais savoir si quelqu'un connait une solution pour denombrer le nombre d'enregistrement par mois entre 2 dates en incluant 0 dans les mois ou il n'y a pas de resultats a retourne par le count().

    En gros j'ai ma requete qui ressemble grosso modo a :

    select count(incident.id) as nbincident
    from incident
    where to_char(incident.debutincident,'YYYYMM') between '200601' and '200701'
    group by to_char(incident.debutincident,'YYYYMM')


    bien entendu cette requete me renvoie tous les incidents par mois ou se produit des incidents mais j'aimerai egalement avoir les lignes des mois ou il n'y a pas d'incident.
    Je peux le faire par programmation mais y a-t-il un moyen d'avoir ce resultat par une simple requete sql ?

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 882
    Points : 53 073
    Points
    53 073
    Billets dans le blog
    6
    Par défaut
    Le seul moyen pratique et efficace (donc performant) est d'ajouter à votre modèle des tables de calendrier comme décrit dans l'article que j'ai écrit à ce sujet :
    http://sqlpro.developpez.com/cours/gestiontemps/

    A +

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
    create table d(d date);
    insert into d values (date '2007-01-01');
    insert into d values (date '2007-02-01');
    insert into d values (date '2007-03-01');
    insert into d values (date '2007-04-01');
    insert into d values (date '2007-05-01');
    insert into d values (date '2007-06-01');
    insert into d values (date '2007-07-01');
    insert into d values (date '2007-08-01');
    insert into d values (date '2007-09-01');
    insert into d values (date '2007-10-01');
    insert into d values (date '2007-11-01');
    insert into d values (date '2007-12-01');
     
    create table incident(id number, debut date);
     
    insert into incident values (1,sysdate);
     
    select d,count(id) 
    from d left join incident on (d=trunc(debut,'MM')) 
    group by d 
    order by d;
     
    D          COUNT(ID)
    --------- ----------
    01-JAN-07          0
    01-FEB-07          1
    01-MAR-07          0
    01-APR-07          0
    01-MAY-07          0
    01-JUN-07          0
    01-JUL-07          0
    01-AUG-07          0
    01-SEP-07          0
    01-OCT-07          0
    01-NOV-07          0
    01-DEC-07          0

  4. #4
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Genial,

    j'y avais pense mais bon la ca me confirme .

    Hehe je vois que beaucoup de personne se galere sur la gestion du temps et cet article est une mine d'or.

    merci.

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

Discussions similaires

  1. [VxiR2] Calcul du nombre de jours par mois entre deux date
    Par trabelsi dans le forum Designer
    Réponses: 4
    Dernier message: 02/10/2017, 15h17
  2. [AC-2007] Calcul du nombre de jours par mois entre deux dates
    Par arouxy dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/01/2010, 08h34
  3. Clients présents par mois entre 2 dates
    Par Bragon35 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/09/2009, 22h49
  4. Réponses: 6
    Dernier message: 12/01/2008, 18h21
  5. Comment compter les jours par mois entre deux dates
    Par Doo89 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 10/01/2008, 21h21

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