Obecnie pracuję nad zadaniem, które wymaga ode mnie znalezienia średniej liczby zasobów dla każdego modułu. Obecna tabela wygląda tak:Średnia dla liczby() w tym samym zapytaniu
ResourceID ModulID
1 1
2 7
3 2
4 4
5 1
6 1
Tak więc, w zasadzie próbuję dowiedzieć się, jak uzyskać średnią liczbę zasobów. Jedyne odpowiednie dane testowe dotyczą modułu 1, do którego podłączono 3 różne zasoby. Ale muszę wyświetlić wszystkie wyniki.
To jest mój kod:
select avg(a.ress) GjSnitt, modulID
from
(select count(ressursID) as ress
from ressursertiloppgave
group by modulID) as a, ressursertiloppgave r
group by modulID;
Oczywiście to nie działa, ale jestem obecnie na straty na co zmienić w tym momencie. Byłbym wdzięczny za wszelkie opinie, które macie.
Nie można po prostu użyć zapytanie zewnętrzną ('AVG () 'zgrupowane przez ModulId) bez wewnętrznego zapytania? Myślę, że przyniosłoby oczekiwane rezultaty. –
Problem z AVG() polega na tym, że przyjmuje on wartość razem i przyjmuje średnią z pojedynczej wartości. Przykładowo, Zasoby 1,5 i 6 tworzą 12. Które następnie wykorzystuje do pobrania średniej sumy. Potrzebuję go 1,5, ponieważ istnieją 3 identyfikatory resourceIDs podłączone do ModulID 1. – Coss