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

SQL Oracle Discussion :

Calculer un rendement


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Par défaut Calculer un rendement
    Bonjour,

    j' ai un petit souci que voici: je dispose d'une colone de prix apellons le p, et je cherche à calculer la quantité p[i+1]/p[i] ; Cette question parait trés bête, mais dans l' entreprise où je travaille personne ne sait faire, et ils ont l' habitude de passer sur d' autres logiciels. Or ma base de donnée est vraiment trop grosse pour espérer s' en servir hors de sql. Pourriez vous me donner une idée de comment écrire une boucle qui me ressorte la colone avec les p[i+1]/p[i] ? Merci.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Oui on peut le faire, oui on peut vous aider mais il nous en faut plus. Pouvez-vous nous montrer vos tables (vous pouvez renommer en toto si vous avez des soucis de confidentialité), quelques lignes contenues et ce que vous attendez ?

  3. #3
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Salut,

    est ce que tu peux expliquer plus ?

    Si j'ai bien compris: (Tu as le choix )
    Avec fonction analytique.
    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
     
    SQL> WITH t AS ( SELECT 30 col1 FROM dual union ALL
      2                       SELECT 60 FROM dual union ALL
      3                       SELECT 90 FROM dual )
      4      SELECT col1, col1/nvl(lag(col1)over(order by col1),1)  res
      5      FROM t
      6  /
     
          COL1        RES
    ---------- ----------
            30         30
            60          2
            90        1.5
     
    SQL>
    Sans fonction analytique.
    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
    17
    18
    19
     
    SQL> WITH t AS ( SELECT 30 col1 FROM dual union ALL
      2                       SELECT 60 FROM dual union ALL
      3                       SELECT 90 FROM dual )
      4      SELECT col1,res
      5      FROM t
      6      model
      7      dimension BY ( row_number()over(partition BY 1 ORDER BY col1) rn)
      8      measures( col1, col1 res)
      9      ( res[rn] =col1[cv()]/ nvl(col1[cv()-1],1) )
     10  /
     
          COL1        RES
    ---------- ----------
            30         30
            60          2
            90        1.5
     
    SQL>
    Or
    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
    17
    18
    19
     
    SQL> with t as ( select 30 col1 from dual union all
      2                    select 60 from dual union all
      3                    select 90 from dual )
      4  select col1
      5  from t
      6  model
      7  dimension by ( row_number()over(partition by 1 order by col1) rn) 
      8  measures( col1)ignore nav
      9  ( col1[rn>1]order by rn =col1[cv()]/col1[cv()-1])
     10  /
     
          COL1
    ----------
            30
             2
            45
     
    SQL>

Discussions similaires

  1. Numéro du mois pour calcul d'un taux de rendement
    Par Superhandz dans le forum Deski
    Réponses: 17
    Dernier message: 08/07/2011, 14h34
  2. Calcul de rendement grâce au solveur
    Par delma dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/02/2011, 10h24
  3. Calculer le rendement dans MATLAB
    Par nadim216 dans le forum MATLAB
    Réponses: 4
    Dernier message: 28/09/2009, 16h25
  4. Calcul de rendements
    Par bb888 dans le forum SAS Base
    Réponses: 7
    Dernier message: 21/11/2008, 00h06
  5. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09

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