Ознакомьтесь с очень хорошо объясненным ответом на похожую проблему, связанную с использованием Group здесь ).
Аналогично описанной там ситуации, для вашейвопрос неоднозначен: какое количество нужно использовать для каждой строки.Т.е. если вы попробуете:
SELECT fundid, Dateadded, ( AVG(amount) / SUM(amount) ) AS AvgRow FROM stock2 GROUP BY fundid, Dateadded ORDER BY DateAdded ASC
, это сработает, потому что AVG (сумма) не является неоднозначным для каждой пары (fundid, Dateadded) , которая должна быть рассчитанавсе вместе.
Кажется, вы ищете что-то вроде:
SELECT st.fundid, st.Dateadded, ( amount / st2.total) ) AS AvgRow
FROM stock2 st
inner join
(select fundid, Dateadded, sum(amount) as total
from stock2
GROUP BY fundid, Dateadded) st2
on st.fundid = st2.fundid and st.Dateadded = st2.Dateadded
order by st.Dateadded