SQL - zagnieżdżanie funkcji agregujących

SQL - zagnieżdżanie funkcji agregujących
AD
  • Rejestracja:około 14 lat
  • Ostatnio:4 miesiące
  • Postów:85
0

Szukałem w sieci ale nigdzie nie znalazłem informacji o zagnieżdżaniu funkcji agregujących.
Doszedłem do takiej wersji ale zgłasza błąd.

SELECT AVG( SELECT SUM(WYDANO-ZWROT) FROM POZYCJA) FROM POZYCJA GROUP BY ID_ASORT

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 13 lat
  • Postów:7923
0

a co by to miało zwrócić bo tutaj podzapytanie zwróci JEDEN rekord i wywołanie na nim AVG (nawet jakby błędu nie było) jest bez sensu


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
scovron
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 8 lat
  • Postów:27
0

Błąd zwraca, bo próbujesz grupować po kolumnie, której nie ma w zapytaniu. Generalnie - patrz: odpowiedź Misiekd
Poza tym nie wiem, na jakiej bazie próbujesz to robić, ale np. Oracle nie łyka konstrukcji

Kopiuj
select avg(select ...) ... 
Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:11 dni
  • Postów:2792
0
Kopiuj
SELECT AVG(kol) srednia FROM (SELECT SUM(WYDANO-ZWROT) kol FROM GROUP BY ID_ASORT) x
scovron
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 8 lat
  • Postów:27
0
Marcin.Miga napisał(a)
Kopiuj
SELECT AVG(kol) srednia FROM (SELECT SUM(WYDANO-ZWROT) kol FROM GROUP BY ID_ASORT) x

To raczej nie ma szans zadziałać. Myślę, że najbliższe temu, o co prawdopodobnie chodziło autorowi, jest takie zapytanie:

Kopiuj
SELECT AVG(x.kol) srednia FROM (SELECT sum(WYDANO-ZWROT) kol, ID_ASORT FROM POZYCJA GROUP BY ID_ASORT) x
Marcin.Miga
No jasne. O tabeli zapomniałem... Tylko o tabeli. ID_ASORT nie jest konieczny
scovron
Faktycznie - ID_SORT nie jest konieczny - mój błąd.
AD
  • Rejestracja:około 14 lat
  • Ostatnio:4 miesiące
  • Postów:85
0

Baza: SQL Server
Nazwa tabeli: Pozycja(id, data, id_asort, wydano, zwrot)
Cel: obliczenie średniej sprzedaży z różnicy wydano-zwrot dla każdego id asortymentu

Podana wyżej fraza zwraca tylko jedną wartość.

edytowany 1x, ostatnio: adnix
Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:11 dni
  • Postów:2792
0
Kopiuj
SELECT ID_ASORT, AVG(WYDANO-ZWROT) srednia FROM POZYCJA GROUP BY ID_ASORT
edytowany 1x, ostatnio: Marcin.Miga

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.