Partage
  • Partager sur Facebook
  • Partager sur Twitter

amplitude maxi et mini plus jour

    2 juin 2020 à 15:25:41

     Bonjour

    j'essai par une requête de déterminer l'amplitude maximum et minimum et le jour de cette amplitude. 

    exemple dans mon tableau en dessous : 

    amplitude maxi : 26° le 02 du mois

    amplitude mini : 6° le 05 du mois

    jour | temp max | temp min 

      01  |      18°     |     7° 

      02  |      24°     |    -2°

      03  |      25°     |     12° 

      04  |      14°     |     4° 

      05  |      18°     |     12°

      06  |      30°     |     5 °

    je ne vois pas du tout comment m'y prendre pour trouver une requête qui me donne ce résultat.

    si quelqu'un peut m'aider..

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      2 juin 2020 à 17:51:45

      Bonjour,

      Dans un premier temps, on ne stocke pas le jour, mais la date complète, c'est quand même plus fonctionnel ... Quand tu changes de mois, tu effaces ta table et tu recommences ?

      Pour calculer l'amplitude maxi, il suffit de faire une soustraction :

      SELECT MAX( temp_max - temp_min ) AS amp_max
      FROM matable
      WHERE madate BETWEEN ... AND ...;

      Pour retrouver la date associée, il suffit d'utiliser cette requête comme sous-requête. Exemple pour le moi de mai :

      SELECT T.*
      FROM matable T
      WHERE
      	( T.temp_max - T.temp_min ) = (
      		-- Amplitude maxi en mai 2020
      		SELECT MAX( temp_max - temp_min ) AS amp_max
      		FROM matable
      		WHERE madate BETWEEN '2020-05-01' AND '2020-05-31'
      	)
      	AND T.madate BETWEEN '2020-05-01' AND '2020-05-31'
      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        4 juin 2020 à 13:48:50

        désolé de ne répondre que maintenant..

        merci Benzouye, ça fonctionne. Après j'ai trouvé une autre solution qui fonctionne également :

        SELECT  temp_max, temp_min,  jour  FROM  minimaxiarchive WHERE tstamp >= '$start' and  tstamp <= '$stop' GROUP BY jour ORDER BY MAX(temp_max) - MIN(temp_min)"



        • Partager sur Facebook
        • Partager sur Twitter
          4 juin 2020 à 13:50:40

          Il manque un LIMIT 1 dans ta solution ...

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

          amplitude maxi et mini plus jour

          × 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