soit la table suivante :
Age | param_de_base | param_age_sup
12 | 1 | 1
12 | 1 | 2
13 | 0 | 1
13 | 1 | 1
Je voudrais regrouper par age, et pour chaque age afficher la somme du param_de_base plus la somme du param_age_sup des age inferieur.
Exemple, pour l'age 13, on aurait 0+1(param_base) +2+1(param_agesup de l'age 12ans) = 4
J'ai essayé avec inner join, comme suit:
J'ai aussi essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT POP1.age,SUM(POP1.param_de_base) + SUM(POP2.param_age_sup) as nombre FROM ma_table as POP1 INNER JOIN ma_table as POP2 ON POP2.age + 1 = POP1.Age group by POP1.age
Dans le deux cas, ca ne fonctionne pas comme je voudrais, j'obtiens ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT POP1.age,SUM(POP1.param_de_base) + SUM(POP2.param_age_sup) as nombre FROM ma_table as POP1 , ma_table as POP2 WHERE POP2.age + 1 = POP1.Age group by POP1.age
Age | nombre
12 | 8
Partager