Zapytanie do bazy danych

0

Cześć,
potrzebuję pomocy w zadaniu, załącznik w opisie.
Czy takie coś ma sens?
SELECT przedmiot AS kurs, ocena AS ile FROM tabela WHERE AVG(ocena) > 3.5 ORDER BY AVG(ocena) DESC, przedmiot ASC

Z góry dziękuję za pomoc.

2

Ogólnie uwagi do SQL:

Brak funkcji agregującej w select
Warunki na funkcję agregujące dajemy w having
W mssql taki order nie zadziała trzeba by się posłużyć indeksem kolumny

0

SELECT przedmiot AS kurs, ocena AS ile FROM tabela GROUP BY przedmiot HAVING AVG(ocena) > 3.5 ORDER BY AVG(ocena) DESC, przedmiot ASC

Inny pomysł nie przychodzi Mi do głowy? Może jakieś rozwiązanie i wywnioskuję z niego? Byłbym wdzięczny.

1

w group by masz kolumnę przedmiot, a w select dodatkowo cena: nie brakuje Ci tu funkcji aavg: ocena AS ile

1

Wisienka na torcie:

SELECT przedmiot AS kurs, AVG(ocena) AS ile 
FROM tabela 
GROUP BY przedmiot --albo kurs trzeba sprawdzić co działa
HAVING AVG(ocena) > 3.5
ORDER BY AVG(ocena) DESC, przedmiot ASC
0

Dziękuję bardzo za pomoc, łapki w górę dodane, do zamknięcia. :-)

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