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

PHP & Base de données Discussion :

Requete et Group By [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    Par défaut Requete et Group By
    Bonjour à tous

    je bloque pour écrire une requête Sql, je pense qu'il faut utiliser les Group By mais je ne maitrise pas trop cette partie de Sql...

    Si quelqu'un peut m'aider ça serait cool

    Table : travaux
    Structure :
    id_travaux - clé primaire
    id_projet
    id_realisateur
    titre
    date_creation
    temps_passe
    texte

    Objectif
    L'objectif est de ressortir pour chaque id_projet le temps passé par chaque id_realisateur sur un mois donné.

    Recherche
    Pour l'instant j'ai écris la requête suivante
    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
    $mois = $_GET['mois'];
    $annee = $_GET['annee'];
     
    $debut_mois = "$annee-$mois-01";
     
    $mois2 = mktime( 0, 0, 0, $mois, 1, $annee ); 
    setlocale('LC_ALL', 'fr_FR');
    $dernier_jour = date("t",$mois2);
    $fin_mois = "$annee-$mois-$dernier_jour";
     
     
    $sql = "SELECT * 
            FROM travaux 
            WHERE date_creation BETWEEN '$debut_mois' AND '$fin_mois'
            ORDER BY id_projet
            ";
    Je voulais ensuite parser les projets via PHP mais je n'y arrive pas et je me dis ça serait peut-être pas plus mal de le faire dès le départ en Sql...

    J'espère avoir été clair...
    Le contenu est roi, optimisé il est empereur...

    Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

    http://www.tethis-interactive.com

  2. #2
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Bonjour,

    je ne suis pas sur de ma requête mais cela doit être de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            SELECT id_projet , id_realisateur,SUM(temps_passe)
            FROM travaux 
            WHERE date_creation BETWEEN '$debut_mois' AND '$fin_mois'
            GROUP BY id_projet , id_realisateur
            ORDER BY id_projet
    lorsque j'ai un doute j'aime bien regarder ce site pour l'sql je trouve qu'il explique bien.

    En espérant t'avoir aider ^^
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  3. #3
    Membre actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    Par défaut
    Yes a priori ca marche, je mene mes tests voir si tout est bon
    Le contenu est roi, optimisé il est empereur...

    Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

    http://www.tethis-interactive.com

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    par contre petite erreur dans ton algo de départ :

    si un projet démarre le 25 d'un mois et dure 10jours tu n'auras pas exactement le temps par mois pour chaque réalisateur ..
    Stay in Bed .. Save Energy

  5. #5
    Membre actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    Par défaut
    Je ne veux pas a cet endroit la le temps total passé sur le projet mais bien le temps passé sur le projet pour le mois X.

    Donc je prends le temps jusqu'a la fin du mois, meme si le projet se termine sur le mois suivant
    Le contenu est roi, optimisé il est empereur...

    Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

    http://www.tethis-interactive.com

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Citation Envoyé par BenoitDenis Voir le message
    Je ne veux pas a cet endroit la le temps total passé sur le projet mais bien le temps passé sur le projet pour le mois X.

    Donc je prends le temps jusqu'a la fin du mois, meme si le projet se termine sur le mois suivant
    oui c'est ce que j'avais compris mais avec la requête donnée tu aura le temps total passé sur le projet non ?
    Stay in Bed .. Save Energy

  7. #7
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Citation Envoyé par boo64 Voir le message
    oui c'est ce que j'avais compris mais avec la requête donnée tu aura le temps total passé sur le projet non ?
    Je ne pense pas car date_creation correspond à la date d'insertion de la relation entre id_projet et id_realisateur. Du coup cela veux dire qu'il met dans ca base en fait le temps de travail journalier et du coup si on délimite ces jours pour former un mois et qu'on additionne chaque temps_passe obtenu alors on a le temps passé pour chaque utilisateur pour une période donnée.

    Enfin je l'avais compris comme ca ^^
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  8. #8
    Membre actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    Par défaut
    T'as tout compris, la date correspond au jour sur lequel le travail Y a été fait sur le projet X
    Le contenu est roi, optimisé il est empereur...

    Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent.

    http://www.tethis-interactive.com

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

Discussions similaires

  1. Problème de requete, COUNT, GROUP BY etc.
    Par TheRedLed dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/05/2007, 16h03
  2. [Oracle] Requête avec GROUP BY
    Par bud_gw dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/07/2006, 11h26
  3. Requete avec group by
    Par zamilou dans le forum Langage SQL
    Réponses: 6
    Dernier message: 31/03/2006, 09h37
  4. pb requete. probablement group by
    Par debdev dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/12/2005, 15h05
  5. Requete mysql group by
    Par yobogs dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/11/2005, 22h38

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