witam wszystkich,
sa 2 tabele: oceny i studenci (polaczone przez nr_stud)
chcialbym wybrac studentow posiadajacych najwyzsze srednie w swoich grupach (nr_kier)
zrobilem to uzywajac view (probowalem przez group by, having.. ale
jedyne co udalo mi sie osiagnac to studentow posiadajacych maksymalne srednie
biorac pod uwage wszystkich studentow, nie w danej grupie)

zrobilem to tak:
  1. CREATE VIEW temp AS SELECT
  2. s.nr_kier AS kierunek,
  3. s.nazwisko AS name,
  4. avg( o.ocena ) AS srednie
  5. FROM oceny o JOIN studenci s ON s.nr_stud = o.nr_stud //tutaj sa tabele polaczone
  6. GROUP BY name,kierunek

i nastepnie:
  1. SELECT kierunek, name, max(srednie)
  2. FROM temp GROUP BY kierunek


dziala w porzadku.. ale winksmiley.jpg
pokazuje studentow z danych grup z maks srednia,
aczkolwiek jesli ilosc studentow z dana srednia maksymalna jest wieksza niz 1,
to pokazuje pierwszego (alfabetycznie).

moje pomysly na pokazanie wszystkich studentow z maksymalna srednia w danej grupie sie skonczyly.

moglby ktos doradzic jakies rozwiazanie? winksmiley.jpg

pozdrawiam.