![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 297 Pomógł: 0 Dołączył: 17.01.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Zapytańko odnośnie generowania wyników
Mam taką tablice w mysql rattings
Wyniki w tabeli Kod id|ip|rok|autor|game|kateg.|carid|score 1|IP-1|2005|lol|cmr2|1|2|10 2|IP-2|2005|lol|cmr2|1|2|7 3|IP-1|2005|lol|cmr2|2|3|9 4|IP-2|2005|lol|cmr2|2|3|7 5|IP-1|2005|lol2|rbr|1|2|10 6|IP-2|2005|lol2|rbr|1|2|8 7|IP-1|2005|lol2|rbr|1|4|7 Zasada działania prosta każdy oddaje głos tylko 1 raz na konkretny samochód z gry Teraz nie wiem jak się zabrać do wyświetlenia wyników z całości i posortowania wq AVG(r_score) uwzględniając tylko wiadome ROK oraz AUTORA danego samochodu Wynik którybym chciał osiągnąć to Pozycja|Nick|Score 1. LOL2 - 8.33 2. LOL - 8.25 Proszę o jakieś sugestie jak się do tego zabrać - głównie mnie interesuje co napierw trzeba wyliczyć Z góry dzięki za pomoc Ten post edytował JOHNY 11.01.2006, 22:32:25 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
![]() Ten post edytował wojto 11.01.2006, 23:27:40 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 297 Pomógł: 0 Dołączył: 17.01.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
A czy się da pogrupować coś takiego z bazy
Kod rok |autor|game|kateg. 2005|lol |cmr2|1 2005|lol |cmr2|2 2005|lol |cmr3|1 2005|lol |cmr4|2 rok i autora przekazuje jako zmienną i chce uzyskać jak narazie sam wynik cmr2 cmr3 cmr4 chciałem coś takiego użyć ale nie trybi
a w ostatecznej wersji będę chciał otrzymać po wybraniu z <form> taki efekt np cmr2 Kod box1 |box2 cmr2 |1 |2 ect. dla cmr3 |1 i dla cmr4 |4 czy jest to w jakiś przyjazny dla środowiska sposób wykonalne ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 297 Pomógł: 0 Dołączył: 17.01.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Super dzięki SongoQ zapomniałem głównie o
Normalnie jak po operacji plastycznej Ślepota postępująca ![]() Mam nowy problem bo chce zastosować taki wzór a nie jestem pewien czy da się to wykonać w 1 zapytaniu ![]() średnia ważona = (g / (g+m)) *s + (m / (g+m)) * S gdzie: s - średnia ocena dla danego filmu g - liczba oddanych głosów na film m - minimalna liczba głosów wymagana do uwzględnienia w TOP (min. 30) S - średnia ocen dla wszystkich filmów Ten post edytował JOHNY 13.01.2006, 11:14:05 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
wydaje mi sie, ze nie da sie tego wykonac w jednym zapytaniu, gdyz nie da sie pobrac sredniej ocen z wszystkich filmow oraz sredniej ocen dla kazdego filmu oddzielnie w jednym zapytaniu, bo albo sie grupuje wg filmu, albo nie
dwoma zapytaniami nie powinno byc problemu -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 297 Pomógł: 0 Dołączył: 17.01.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Troche mi się koncepcja zminiła - tak by to wyglądało w moim przypadku
TABELA ID|ROK|AUTOR|GAME|KATEGORIA|CAR_ID|SCORES średnia ważona (SW) = (g / (g+m)) *s + (m / (g+m)) * S gdzie: s - średnia oceny dla danego CAR_ID z uwzględnieniem ROK|AUTOR|GAME|KATEGORIA g - liczba oddanych głosów na CAR_ID z j.w m - minimalna liczba głosów ogółem jako stała czyli na 10 głosów żeby się znaleść na liście - ( w skrypcie dla sprawdzenia wymagań najlepiej wyciągnąć jako count(AUTOR) .... WHERE rok=ROK) S - średnia wszystkich głosów na wszystko - to akurat proste SW - średnia ważona dla poszczególnych CAR_ID wg wzoru SR-WK - średnia dla wyników SW dla danego autora Tylko teraz pytanie czy np za pomocą operacji na 1 tablicy można to wszystko zrobić za pomocą jednego zapytania używając LEFT JOIN ![]() Ten post edytował JOHNY 17.01.2006, 16:57:35 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 04:40 |