Pytanko - prosty przykład. W mojej bazie danych użytkownicy mogą recenzować dany produkt, wpisują swoją opinię oraz przyznają ilość gwiazdek. Gwiazdki to pole typu double w bazie danych, użytkownik może ocenić produkt na 1, 1.5, 2, 2.5 gwiazdki i tak dalej aż do 5. Chciałbym, aby powiedzmy raz na 24 godziny (o godzinie 13) średnia ocena widoczna przy produkcie była aktualizowana, czyli chciałbym osiągnąć następujący efekt:
Godzina 11 - Oceny produktu: 2, 3, 4, 5 Średnia ocena = 14/4 = 3.5
Na sklepie obok produktu wyświetla się ocena: 3,5 gwiazdki.
O godzinie 12 użytkownik dodał ocenę: 1
Godzina 13:05 (po aktualizacji ocen): - Oceny produktu: 1, 2, 3, 4, 5 Średnia ocena = 15/5 = 3
Na sklepie obok produktu wyświetla się ocena: 3 gwiazdki.
No i właśnie, żeby otrzymać taki efekt to w tabeli z produktem w bazie potrzebuję mieć średnią ocen, ale te oceny w jakiś sposób o tej godzinie 13 muszą być w jakiś sposób obliczane i umieszczane w bazie, jak powinno się podejść do takiego problemu?