我有一张包含以下信息的表:
_______________________________________________________
| fundName | stockName | numShares | price |
_______________________________________________________
| Sunshine | Enron | 10 | $5 |
| Sunshine | Lehman | 40 | $10 |
| Brightsky | BearStearns | 20 | $3 |
| Pillar | GM | 100 | $30 |
| Pillar | Chrysler | 80 | $22 |
| Pillar | Bricklin | 200 | $2 |
我需要编写一个查询,该查询将返回一个表,该表在一个列中包含所有我的基金的名称,以及该基金中股票的平均股票价值。应该对平均值进行加权,这意味着如果特定基金中有80股公司A和20股公司B,则A公司应将平均股票价值加权80%。
例如,对于上表,我想得到结果:
___________________________________
| fundName | avgSharePrice |
___________________________________
| Sunshine | $9 |
| Brightsky | $3 |
| Pillar | $13.58 |
尝试这个:
SELECT fundName, sum(numShares * price) / sum(numShares) AS avgSharePrice
FROM table GROUP BY fundName;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句