Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Sortowanie wyników wg średniej wartości kolumny
Forum PHP.pl > Forum > Przedszkole
Grzesiek1
  1. <?
  2. for($x=1; $x<=900; $x++){
  3. $srednia[$x] = round(mysql_result(mysql_query('SELECT AVG(job_wynagordzenie) FROM portal_job WHERE job_miasto ='.$x),0));
  4. }
  5. arsort($srednia);
  6. $obrot=1;
  7.  
  8. foreach($srednia as $klucz => $wartosc):
  9. echo '<b>'.$obrot.'.</b> <a href="#">'.$tb_miasto[$klucz].'<br />Średni zarobek '.$wartosc.'pln</a><br />';
  10. $obrot++;if($obrot==7)break;
  11. endforeach;
  12. ?>

Chciałbym całe te obliczenia przezuzcić na zapytanie żeby nie kręcić tą pętlą 900razy, bo i tak chodzi mi o wyciągnięcie tylko 6 największych job_miasto i wyciągnięcia z niej średniej....
Teraz wyciągam średnią wszystkich miast po kolei sortuje w php i wyswietlam tylko te 6 największych, ale muszę tą pętlą właśnie pokręcić 900razy żeby wyciągnąć te dane do php i w nim posortować, myśle że w MYSQL można by to jakoś załatwić. Kombinowałem coś takiego:
  1. SELECT job_miasto, AVG(job_wynagordzenie) FROM portal_job WHERE job_miasto ORDER BY AVG(job_wynagordzenie) DESC LIMIT 6
Wiem, wiem bez sensu bo warunek WHERE, to tak jak by go nie było i wyciąga średnią z wszystkich miast a nie danego miasta, ale nie mam właśnie pomysłu jak to złożyć
skowron-line
GROUP BY
Grzesiek1
Dzięki, działa.
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.