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 :

Requête regroupement par semaine


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut Requête regroupement par semaine
    bonjour à tous,

    j'ai un souci au niveau de ma requête, ce que je veux faire c'est compter le nombre de salariés par semaine sur un mois, voilà ma requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select date(subdate(joursembauche, interval (dayofweek(INCIDENTS_SLA.joursembauche)-2)day))  as joursembauche,count(id_salarie)
    from salarie
    where YEAR(joursembauche) = YEAR(CURDATE())
    AND MONTH(joursembauche) = ?
    GROUP BY joursembauche
    le ? je lui passe un paramètre, par exemple pour le mois de mars je lui passe "3". Il m'affiche bien :

    la semaine 25 février
    4 Mars
    11 Mars
    18 Mars
    25 Mars
    1 Avril ?

    Pour le 25 février je comprends car dans cette semaine y 1, 2, 3 Mars mais le 1er Avril je ne comprends pas.

    Merci de votre aide

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 948
    Points : 5 847
    Points
    5 847
    Par défaut
    Quel SGBD ?
    Il faut se méfier des dayofweek ou autre fonction du genre, les anglo-saxons commencent leur semaine le dimanche et pas le lundi.
    Au cas où ce soit du mysql :DAYOFWEEK(date)

  3. #3
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut
    C'est du MySQL. Oui effectivement pour les jours mais j'ai rajouté le day-2 mais y toujours un problème de jour !

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 948
    Points : 5 847
    Points
    5 847
    Par défaut
    Y a t il du 31/03 (=> 01/04) dans les données ?
    Essaie comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subdate(joursembauche, interval (case when dayofweek(joursembauche)-2 = -1 then 6 else dayofweek(joursembauche)-2 end)day) as lundi

  5. #5
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut
    Non je ne sais pas mais quand les données ne sont pas juste, j'ai exécute la requête avec un BETWEEN sur une semaine histoire de vérifier le résultat y a une marge.

    Oui y a des données le 31

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 948
    Points : 5 847
    Points
    5 847
    Par défaut
    Citation Envoyé par stade13 Voir le message
    Non je ne sais pas mais quand les données ne sont pas juste, j'ai exécute la requete avec un BETWEEN sur une semaine histoire de vérifier le résultat y a une marge.
    Je n'ai pas compris.
    Citation Envoyé par stade13 Voir le message
    Oui y a des données le 31
    Ben 31/03 - (1-2) = 01/04

    Ca ne marche pas avec le CASE ?

Discussions similaires

  1. [AC-2003] Regroupement par semaine
    Par DavidT62 dans le forum Access
    Réponses: 1
    Dernier message: 03/11/2011, 20h26
  2. [Access 2003] regroupement par semaine
    Par bouts dans le forum Langage SQL
    Réponses: 4
    Dernier message: 07/10/2008, 16h44
  3. Requette sur date avec regroupement par semaine
    Par bob75000 dans le forum Access
    Réponses: 6
    Dernier message: 17/07/2006, 15h39
  4. [Requête] Regroupement par mois en cours
    Par Burnout dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/01/2006, 09h36
  5. [DB2]Requête regroupement par intervals
    Par sm dans le forum DB2
    Réponses: 8
    Dernier message: 01/09/2004, 17h19

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