Zapytanie do bazy danych

Zapytanie do bazy danych
Mate Usz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
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.

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3898
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

Mate Usz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
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.

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3898
1

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

biela_
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: WPR
  • Postów: 136
1

Wisienka na torcie:

Kopiuj
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
Mate Usz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

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

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.