zapytanie postrgesql

  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
select avg(rate.rate), books.book_id from books left join rate on books.book_id = rate.book_id group by books.book_id , rate.rate_id order by avg(rate.rate) DESC;

Powyższe zapytanie powino połączyć dwie tabele i wyciągnąć średnią ocenę dla danej książki. Nie działa i nie mam pojęcia czemu. Łączy tabele, sortuje wyniki ale nie wyciąga średniej. Dlaczego ?

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
0

Zapomniałeś poinstruować bazę jakie jest kryterium uśredniania - zjadłeś group by.

  • Rejestracja: dni
  • Ostatnio: dni
0

Nie zapomniałem. Jest przecież "group by books.book_id , rate.rate_id".

PD
  • Rejestracja: dni
  • Ostatnio: dni
1

Ponieważ grupujesz także po rateID, a powinieneś tylko po bookID

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.