Voilà une idée sur le principe que vous m'avez suggéré, mais là encore, je trouve 10 fois le même résultat (qui est faux d'ailleurs)... A quel niveau se trouve mon erreur ? Je pense que c'est au niveau du SUM et de la division, mais je n'arrive pas à formaliser autrement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 DROP TEMPORARY TABLE IF EXISTS mesperfs; CREATE TEMPORARY TABLE mesperfs ENGINE MEMORY SELECT SCE.id, POP.product_id, VOL.chf_volume,SCE.value FROM volumes as VOL INNER JOIN portfolios_products as POP on (VOL.product_id = POP.product_id) INNER JOIN product_scenarios AS SCE on (SCE.product_id = POP.product_id) WHERE POP.portfolio_id = 2 AND VOL.client_id = 3; SELECT id, SUM(chf_volume * value) / SUM(chf_volume) AS total FROM mesperfs GROUP BY id ORDER BY total DESC limit 10;
Partager