Partage
  • Partager sur Facebook
  • Partager sur Twitter

Taux d'évolution en SQL

Sujet résolu
    14 février 2023 à 12:29:01

    Bonjour à tous!

    Je suis novice en SQL et j'aimerais calculer un taux d'évolution de vente entre deux trimestres, j'ai donc tenté cette requête:

    WITH

    t1 as(

    SELECT round(count(id_vente),2) AS ventes_1s

    FROM vente

    WHERE date_vente BETWEEN '01/01/2020' AND '31/03/2020'),

    t2 as(

    SELECT round(count(id_vente),2) AS ventes_2s

    FROM vente

    WHERE date_vente

    BETWEEN '01/04/2020' AND '30/06/2020')

    SELECT round(((ventes_1s - ventes_2s)*100) / (ventes_2s),2) as evolution

    FROM t1,t2;

    Le résultat donne 2,2 , or le résultat attendu serait 3,68 et j'ai vérifier mon jeu de donnée tout est ok...

    Auriez vous des idées de pourquoi cette requête ( si elle est correcte) n'aboutie pas au bon résultat?

    Merci d'avance,

    Lou.

    • Partager sur Facebook
    • Partager sur Twitter
      14 février 2023 à 12:46:26

      Bonjour,

      Où sont les balises code ?

      Une proposition :

      WITH
      t1 AS (
        SELECT COUNT(id_vente) AS ventes_1s
        FROM vente
        WHERE date_vente BETWEEN '2020-01-01' AND '2020-03-31'
      ),
      t2 AS (
        SELECT COUNT(id_vente) AS ventes_2s
        FROM vente
        WHERE date_vente BETWEEN '2020-04-01' AND '2020-06-30'
      )
      SELECT ROUND(((t2.ventes_2s - t1.ventes_1s) * 100) / t1.ventes_1s, 2) AS evolution
      FROM t1, t2;
      



      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        14 février 2023 à 13:41:01

        Les balises code? A vrai dire je ne sais pas ce que c'est :euh:

        Merci pour ta proposition mais cela sort le résultat "NULL"...

        • Partager sur Facebook
        • Partager sur Twitter
          15 février 2023 à 20:35:15

          LouBérail a écrit:

          Les balises code? A vrai dire je ne sais pas ce que c'est :euh:

          Bonjour, c'est la façon de présenter du code sur le forum, c'est expliqué dans les règles du forum que vous auriez du lire AVANT de poster. Pour rappel voici :

          Merci de colorer votre code à l'aide du bouton Code

          Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: sql;">Votre code ici</pre>.

          Merci de modifier votre message d'origine en fonction.

          Liens conseillés



          • Partager sur Facebook
          • Partager sur Twitter
            16 février 2023 à 11:59:37

            C'est quoi pour toi un taux d'évolution? La tu sais qu'au deuxieme trimestre tu as fait 2,2 fois plus de vente qu'au premier, mais sans tes données on peut pas vérifier la cohérence de ton résultat. Pour ce qui est du NULL je pense que les types de données sont pas bon. (donc ta permiere requete me semble bonne)

            -
            Edité par thetui 16 février 2023 à 12:02:10

            • Partager sur Facebook
            • Partager sur Twitter
              16 février 2023 à 14:04:04

              Bonjour,

              Merci de vos retours, effectivement en remettant le nez dans mon jeu de données j'ai retrouvé l'erreur qui était dans le format de date pas bien pris par le CSV!

              • Partager sur Facebook
              • Partager sur Twitter

              Taux d'évolution en SQL

              × 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