Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Sortowanie po średniej z komórek
Forum PHP.pl > Forum > Przedszkole
kleszczoscisk
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]
kefirek
Zobacz tak
  1. SELECT AVG(suma głosów) AS srednia FROM nazwa_tabeli ORDER BY srednia DESC;
kleszczoscisk
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 ?
kefirek
Tak powinno być dobrze
  1. SELECT (ilo&#347;ć głosów/suma głosów) AS srednia FROM oceny ORDER BY srednia DESC;
kleszczoscisk
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 ... ? :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.