![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 14.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
witam,
jak stanąłem tak nie mogę ruszyć z tematem, mam taki oto problem. Jest tabela o nazwie: ratings Trzy kolumny: id, rating_id, rating_num Jest to tabela gdzie zapisuje oceny(rating_num) uzytkownikow danych obiektów(rating_id) z mojej strony internetowej. Do tej pory wyciagalem 3 najlepsze obiekty liczac po prostu srednia i to zapytanie wyglada tak: Kod SELECT avg(rating_num) as srednia,rating_id as id FROM `ratings` GROUP BY `rating_id` ORDER BY srednia DESC LIMIT 3 z czasem jednak się okazało, że takie podejście jest mylące, bo np. jeden obiekt, który miał 1 opinię na 5 był wyżej niż obiekt, który miał np. 100 opinii i srednia 4,8. Postanowiłem więc zmodyfikować sposób wyliczania najlepszego obiektu zgodnie z takim wzorem: Średnia suma ocen + (liczba ocen / 2) Czy jest możliwość, aby pobrać tak posortowane dane z tabeli, aby nie przetwarzać ich w php, bo nie powiem jest trochę tych obiektów? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:21 |