Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Sortowanie po średniej z komórek
kleszczoscisk
post 15.11.2008, 15:33:48
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

Ostrzeżenie: (0%)
-----


Witam

Mam tabelę w MySQL w której przechowuję oceny:
id | ilość głosów | suma głosów
Internauta głosuje od 1-10, dane w tabeli zapisywane są jak wyżej.
Chcę zrobić zestawienie według ocen, czyli posortować według iloczynu suma głosów/ilość głosów i pojęcia nie mam jak sie zabrać za to.
Czytam właśnie o funkcji AVG() , czy w tym przypadku znajdzie ona zastosowanie ? Jesli tak to jak sformułować zapytanie... ? Czy to będzie ORDER BY ... i tu gdzies ta funkcja ?
Dzięki za pomoc z góry[color="#000000"][/color]


--------------------

Siedź cicho, kiedy śpi licho.
Go to the top of the page
+Quote Post
kefirek
post 15.11.2008, 15:59:29
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Zobacz tak
  1. SELECT AVG(suma głosów) AS srednia FROM nazwa_tabeli ORDER BY srednia DESC;
Go to the top of the page
+Quote Post
kleszczoscisk
post 15.11.2008, 16:08:52
Post #3





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

Ostrzeżenie: (0%)
-----


Dzięki @kefirek, zaraz sprawdze.

a tak moze być ?
  1. <?php
  2. $query = ("SELECT *  FROM `oceny` LEFT JOIN  `dziela` ON oceny.id = dziela.id ORDER BY (oceny.ilosc_glosow/oceny.suma_ocen) DESC LIMIT 10 ");
  3. ?>


Cytat(kefirek @ 15.11.2008, 15:59:29 ) *
Zobacz tak
  1. SELECT AVG(suma głosów) AS srednia FROM nazwa_tabeli ORDER BY srednia DESC;

... ale czy to SELECT AVG(suma głosów) czasem nie wyciąga średniej wszystkich rekordów z danej kolumny ?

Ten post edytował kleszczoscisk 15.11.2008, 16:09:46


--------------------

Siedź cicho, kiedy śpi licho.
Go to the top of the page
+Quote Post
kefirek
post 15.11.2008, 16:21:59
Post #4





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Tak powinno być dobrze
  1. SELECT (ilo&#347;ć głosów/suma głosów) AS srednia FROM oceny ORDER BY srednia DESC;


Ten post edytował kefirek 15.11.2008, 16:23:39
Go to the top of the page
+Quote Post
kleszczoscisk
post 15.11.2008, 16:25:59
Post #5





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

Ostrzeżenie: (0%)
-----


Cytat(kefirek @ 15.11.2008, 16:21:59 ) *
Tak powinno być dobrze
  1. SELECT (ilość głosów/suma głosów) AS srednia FROM oceny ORDER BY srednia DESC;


Jesli w nawiasie mogę dzielić wartosci z pól to znaczy to lepiej chyba mi pasuje pobranie wszystkiego (*) i tylko posortowanie po tej średniej. Czyli w zapytaniach można normalnie mnożyć, dodawać, odejmować i dzielić do woli ... ? :-)


--------------------

Siedź cicho, kiedy śpi licho.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 23:22