Gdzie znajduje sie błąd tej instrukcji i dlaczego?

0

SELECT imię, nazwisko, avg(ocena) FROM studenci WHERE grupa=’A’ GROUP BY id.studenta

0

Nie masz nigdzie aliasu bądź tabeli id - id.studenta.

0

Czyli jak powinno być poprawnie?

2
SELECT imię, nazwisko, avg(ocena) FROM studenci WHERE grupa=’A’ GROUP BY imię,nazwisko
0

tak na marginesie grupowanie tylko po polach 'imię' i 'nazwisko' nie jest dobrym rozwiązaniem, bo co się stanie gdy w grupie trafią się dwie osoby tak samo się nazywające .
lepszym było by takie rozwiązanie :

 SELECT imię, nazwisko, iDstudenta AVG(ocena) FROM studenci WHERE grupa=’A’ GROUP BY imię,nazwisko,iDstudenta

bo gwarantuje unikalność zestawu pól w klauzuli
GROUP BY
a jeszcze lepiej stworzyć dwie tabele , jedną ze studentami (bez ocen) a drugą tylko z ocenami i zrobić złączenie albo zagnieżdżonego selecta

select imie,nazwisko,idStudenta, (select avg(ocena) from oceny where oceny.iDstudenta=studenci.iDdstudenta) as srednia  from studenci where grupa='A'

1 użytkowników online, w tym zalogowanych: 0, gości: 1