ugotowany_kamien
#sql #pl/sql #naukaprogramowania

cześć mam problem z jednym zadaniem. Napiszcie co robię źle.

Znajdź studenta z najwyższą średnią ocen

select idstudent, ocena
from ocena
where ocena in
(select (max(avg(ocena)))
from ocena
group by ocena)
  • Najlepsze
  • Wszystkie komentarze
G.....n
G.....n
@ugotowany_kamien:
SELECT
idstudenta, AVG(ocena)
FROM
ocena
Group By idstudenta
Order by 2 DESC
JabLuszko
@ugotowany_kamien: wszystko :<
Twój 'wewnętrzny' select zwróci Ci średnią ze wszystkich ocen, nie średnią per student, group by przemyśl.
ocena in to też potworek i bez sensu. Po pierwsze in nie do tego służy, po drugie jak średnia Ci wyjdzie 4.23 to jak sobie wyobrażasz dopasowanie to do liczb całkowitych - 2,3,4,5, po trzecie to Ty chciałbyś studenta nie? ;)
-PPP-
@ugotowany_kamien: Trochę nie ogarniasz co?
ugotowany_kamien
@JabLuszko: tak by było lepiej?

select idstudent, ocena

from ocena

where ocena in
ugotowany_kamien
@-PPP-: uczę się
-PPP-
@ugotowany_kamien: Uczysz się przez praktykę co :))) Może najpierw jakaś literatura?

Ginden podał Ci gotowe rozwiązanie. Pierwsza krotka wyniku będzie zawierać id najlepszego studenta.
Taczi
Taczi
@ugotowany_kamien: nie możesz użyć Group by na polu którego nie ma w select.
d.....3
d.....3
nie możesz użyć Group by na polu którego nie ma w select.


@Taczi: raczej odwrotnie, nie może użyć w select pola, którego nie ma w group by