Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mysql plusieur Select et Group By

    22 octobre 2018 à 10:05:01

    Bonjour,

    Je coince depuis quelques jours.

    Je dois faire une moyenne sur le temps pour différentes étapes.

    Pour le cas en bas, j'obtiens ce qu'il faut:

    SELECT date, p.a, AVG(t.duree) AS dureeP FROM timing as t, data as p WHERE t.id_p = p.id_p AND t.etape=4 AND t.heure_fin IS NOT NULL GROUP BY p.a 

    Mais j'aimerai ajouter la moyenne sur le temps dans le tableau de dessus à l'étape 5. J'ai trouvé ceci sur internet mais ça ne prend pas le GROUP BY .

    select * from

    (SELECT date, p.a, AVG(t.duree) AS dureeP FROM timing as t, data as p WHERE t.id_p = p.id_p AND t.etape=4 AND t.heure_fin IS NOT NULL GROUP BY p.a ) as T1,

    (SELECT date, p.a, AVG(t.duree) AS dureeP FROM timing as t, data as p WHERE t.id_p = p.id_p AND t.etape=5 AND t.heure_fin IS NOT NULL GROUP BY p.a ) as T2

    Avez -vous une idée ?

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      25 octobre 2018 à 12:12:25

      Bonjour,

      Je te dirais bien que ce que tu essayes de faire est un tableau croisé et que ce n'est pas au SGBD d'en faire la mise en forme :p

      SELECT
      	t.etape,
      	date,
      	p.a,
      	AVG(t.duree) AS dureeP
      FROM
      	timing as t
      		INNER JOIN data as p
      			ON t.id_p = p.id_p
      WHERE
      	t.etape IN( 4, 5 )
      	AND t.heure_fin IS NOT NULL
      GROUP BY
      	t.etape,
      	date,
      	p.a,

      Là tu vas avoir deux lignes par date et a, à remettre en forme côté applicatif ;)

      Mais je me doute que cela ne te plaira pas ...

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

      Mysql plusieur Select et Group By

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown