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 :

fonction group by


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut fonction group by
    Bonjour,

    J'ai une requete qui me récupére les remunerations des salaries par année et qui a une fonction qui calcule le pourcentage d'augmentation par année.

    Voici la requete :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    SELECT distinct nom, prenom, sal_id, temps_id, MAX(remu_annuelle), MAX(remu_mensuelle), num_secu, matricule , MAX(OBAN)
     ,ABS((lag(remu_mensuelle, 1) OVER ( PARTITION BY nom, prenom, sal_id ,  num_secu, matricule, OBAN ORDER BY temps_id) - remu_mensuelle) / (lag(remu_mensuelle, 1) OVER ( PARTITION BY nom, prenom, sal_id , num_secu, matricule, OBAN ORDER BY temps_id))*100) AS pct_augment
     
    FROM (
    	SELECT s.nom, s.prenom, sal_id, temps_id, num_secu, matricule,
     
    	MAX(GREATEST(
    	 DECODE(remu_theo_cadre_13,NULL,0,remu_theo_cadre_13*( 13 )),
    	 DECODE(remu_theo_etam_13 ,NULL, 0, remu_theo_etam_13*( 13 )),
    	 DECODE(remu_theo_12,NULL,0, remu_theo_12)
    	 )) AS remu_annuelle
     
    	,MAX(GREATEST(
    	 DECODE(remu_theo_cadre_13,NULL,0,remu_theo_cadre_13),
    	 DECODE(remu_theo_etam_13 ,NULL, 0, remu_theo_etam_13),
    	 DECODE(remu_theo_base,NULL,NULL,remu_theo_base)
    	 )) AS remu_mensuelle
     
    	, DECODE (OBAN, NULL, 0, OBAN) as OBAN
     
    	FROM FRH, SALARIE s
    	WHERE  (remu_theo_12 IS NOT NULL OR remu_theo_cadre_13 IS NOT NULL OR remu_theo_etam_13 IS NOT NULL OR remu_theo_base is not null OR OBAN is not null )
    	AND frh.salarie_id = s.sal_id 
    	and salarie_id=2039
    	GROUP BY s.nom, s.prenom, sal_id, temps_id, num_secu, matricule, OBAN
    	ORDER BY s.nom, s.prenom, sal_id, temps_id, num_secu, matricule, OBAN
    	)
    group by nom, prenom, sal_id, temps_id,num_secu, matricule
    Mon pb (comme j'ai commencé a le résoudre) c'est que je veux afficher le max des remunérations (car des personnes ont d'autres salaires...).
    MAis je n'arrive pas a faire le group by avec la fonction lag...

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECODE (OBAN, NULL, 0, OBAN) AS OBAN ???
    Tssss
    Pour ton groupe, je ne comprend pas très bien ?
    Tu peux pas faire ton lag à fin avec un select from ?

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut
    Ah oui, je n'avais pas pensé a un autre select..je pensais qu'il y avait une autre solution.

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

Discussions similaires

  1. fonction Group by dans le chargement.
    Par arnest dans le forum QlikView
    Réponses: 2
    Dernier message: 24/05/2011, 17h47
  2. fonction group by
    Par kaayna dans le forum Langage SQL
    Réponses: 1
    Dernier message: 15/04/2010, 11h03
  3. Fonction Group absente
    Par DeNantes dans le forum iReport
    Réponses: 6
    Dernier message: 25/02/2009, 21h30
  4. Saut de page et fonction Group BY
    Par ramoucho17 dans le forum iReport
    Réponses: 1
    Dernier message: 11/10/2006, 10h36
  5. Fonction Group By
    Par Infomax7 dans le forum Informix
    Réponses: 19
    Dernier message: 27/05/2006, 12h35

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