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

PL/SQL Oracle Discussion :

Regrouper les résultats d'une requête par semaine (du lundi au lundi)


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut Regrouper les résultats d'une requête par semaine (du lundi au lundi)
    Bonjour à tous et à toutes.


    Mon problème est le suivant, j'ai besoin de faire un graphe de statistiques qui permet de visualiser un nombre de mouvement par semaine (du lundi au dimanche soir 23h59).
    Seulement voilà, faire un group by en fonction du numéro de semaine ne regroupe pas les mouvements du lundi au lundi.
    J'ai passé un certain temps a essayer de trouver une réponse à mon problème et jusqu’à présent en vain. Mais j'admet que j'ai appris le PL/SQL un peu sur le tas et j'ai probablement encore quelques lacunes dans certains domaines qui peuvent pourtant vous paraître assez basiques.

    Qui plus est, et même si c'est un problème un peu plus secondaire, c'est la date du premier mouvement de la semaine qui me sert à définir la date de la semaine dans les résultats (ex : Semaine du lundi 13 Aout = 15 mouvements). Or dans mon cas, si le premier mouvement est par exemple le mardi ça m'affichera le nombre de mouvement de la semaine à partir du mardi.
    J'aimerais que même si le nombre de mouvement ne change pas, le résultat me renvois bien celui ci en fonction du lundi !

    J'espère avoir été assez clair :/

    Merci !

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Pouvez-vous poster votre requête, et un jeu de données (avec le résultat attendu) ?

    En effet, à froid, j'aurais tendance à partir sur la piste du to_char(madate, 'IW') mais d'après votre question, c'est ce que vous faites déjà non ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut
    Oui c'est ce que je fais déjà.

    Voici la requête actuellement en place
    SELECT TO_CHAR(DT,'YYYY') AS ANNEE,TO_CHAR(DT,'MM') AS MOIS,TO_CHAR(DT,'DD') AS JOUR,DT,CMPTR FROM (
    SELECT MIN(TO_DATE(TO_CHAR(DT_CRTN,'DD/MM/YYYY'),'DD/MM/YYYY')) AS DT,TO_CHAR(DT_CRTN,'WW/YYYY') AS SEMAINE,COUNT(*) AS CMPTR
    FROM HTL_DMD LEFT JOIN V_MODULESAPPS ON V_MODULESAPPS.ID_MODULE=HTL_DMD.REF_MDL GROUP BY TO_CHAR(DT_CRTN,'WW/YYYY')
    ORDER BY DT ASC )
    Pour le jeu de donnée je le ferais un peu plus tard.

  4. #4
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    Bonjour,

    Que se passe-t'il si vous utilisez TO_CHAR(MaDate,'IW/RRRR') ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 72
    Par défaut
    Les résultat correspondent déjà un peu plus à ce que je recherche
    Plus aucune semaine qui commence le samedi ou le dimanche ! EN revanche j'ai toujours des semaines qui commence le mardi/mercredi dans le cas ou je n'ai aucun mouvement le lundi/mardi.
    Concrètement quelle différence fait l'ajout du I ?

  6. #6
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    WW : numéro de la semaine dans l'année, de 1 à 53 (la première semaine commence le premier jour de l'année)
    IW : numéro ISO de la semaine dans l'année (1 - 53 ; le premier jeudi de la nouvelle année est dans la semaine 1)

    Plus de détail sur IW
    - une semaine commence un Lundi
    - les jours de la semaine sont numérotés de 1 à 7
    - la semaine 1 est celle qui contient le premier Jeudi de l’année
    - une semaine ISO appartient tout entière à l'une ou l'autre année

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Citation Envoyé par lola06 Voir le message
    Que se passe-t'il si vous utilisez TO_CHAR(MaDate,'IW/RRRR') ?
    Attention aux semaines qui se situent en début et fin d'année, les formats RRRR / YYYY convertissent "bêtement" l'année du jour et non pas l'année de la semaine.
    Par exemple, le 1er janvier 2012 fait parti de la 52ème semaine de 2011.
    Il faut utiliser IW avec le format IYYY pour l'année :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select dt
         , TO_CHAR(dt,'RRRR"W"IW') as f1
         , TO_CHAR(dt,'YYYY"W"IW') as f2
         , TO_CHAR(dt,'IYYY"W"IW') as f3
      from (select date '2012-01-01' as dt from dual);
     
        DT       F1      F2      F3
    ---------- ------- ------- -------
    2012-01-01 2012W52 2012W52 2011W52

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

Discussions similaires

  1. [AC-2007] Envoi de tous les résultats d'une requête par email
    Par m6riil dans le forum IHM
    Réponses: 1
    Dernier message: 30/04/2013, 18h25
  2. [2.x] Regrouper les résultats d'une requête suivant un champ
    Par aitiahcene dans le forum Symfony
    Réponses: 9
    Dernier message: 23/07/2012, 15h31
  3. Filtrer les résultats d'une requête par date courte
    Par Herwin78800 dans le forum Linq
    Réponses: 8
    Dernier message: 11/08/2011, 16h16
  4. Sélectionner les résultats d'une requête par date
    Par 0sef40 dans le forum Langage SQL
    Réponses: 16
    Dernier message: 19/05/2011, 09h38
  5. [MySQL] Afficher les résultats d'une requête par nombre de caractères
    Par goldenb dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/08/2010, 02h01

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