Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]pobranie z bazy rekordów i podliczenie
Forum PHP.pl > Forum > Przedszkole
ktosz
siemka smile.gif

chce zrobic cos takiego
w bazie mam 5000 osob podzielonych na dwie grupy, jedna i druga rowno prawie po pol.

przykladowo:
grupa a: 2400 osob
grupa b: 2600 osob

maja cos takiego jak punkty
chce podliczyc punkty grupy a i podzielic przez liczbe osob i to samo z grupa b.
i sprawdzic kto ma wieksza srednia.

jak to zrobic?
jasin
Sumowanie wszystkich rekordów:
  1. SELECT SUM(kolumna) FROM tabela;

Ilość wszystkich rekordów
  1. SELECT COUNT(*) FROM tabela;


a reszta to chyba oczywiste ...
Suh
Lub bezpośrednio średnią..

  1. SELECT AVG(kolumna) FROM tabela;
ktosz
Mam coś takiego:

$gr=@mysql_result(mysql_query("SELECT SUM(pkt) FROM `users` WHERE `grupa`='AAA'"));

i niestety nie działa sad.gif
Suh
To może usuń @ i zobacz dlaczego nie działa ?

PS. Oczywiście dopisz jeszcze obsługę błędów. mysql_error
ktosz
no tak, zapytanie jest okey ale nie mogę pobrać...
mam połączenie z bazą i wszystko i nie idzie ;/
jest to z poziomu PHP ;/
motam się kurcze już z tym od wczoraj chyba z 7-8 godzin sad.gif
Suh
a działa Ci takie zapytanie na serwerze mysql ? bo zapytanie bedzie poprawne jezeli tylko bedzie mialo poprawna skladnie, natomiast mozesz nic nie otrzymywac bo moze czegos w zapytaniu brakowac.
ktosz
Tyle to ja wiem, dlatego prosiłbym o jakiś wzór poprawnej składni wraz z tym:
mysql_query(); itd...




dziekowa z gory jesli mozna! :]
Void
Cytat(ktosz @ 23.09.2009, 00:29:49 ) *
Tyle to ja wiem, dlatego prosiłbym o jakiś wzór poprawnej składni wraz z tym:
mysql_query(); itd...


W pierwszym lepszym kursie obsługi mysql w php to jest smile.gif
Tu masz duużo przykładów: http://pl2.php.net/manual/pl/function.mysql-query.php
ktosz
już się w tym pomieszalem ://

mam tak:

$pob=mysql_fetch_assoc(mysql_query("SELECT AVG(punkty) FROM users"));
echo $pob;

- WYNIK TO NAPIS "ARRAY"...

w przypadku czegoś takiego:
$pob=mysql_fetch_assoc(mysql_query("SELECT AVG(punkty) FROM users"));
echo $pob[poziom];

- NIE WYŚWIETLA SIĘ NIC



więc jak to zrobić?
Pawel_W
print_r zamiast echo
thek
Pytanie za sto punktów... Dlaczego przy zapytaniu, w którym jako kolumna wynikowa jest AVG(punkty), użycie $pob[poziom] nie wyświetla nic? Pytanie pomocnicze: "Czy kolumna wyświetlana i kolumna wynikowa w zapytaniu musza mieć tę samą nazwę lub pozycję?"
fander
Kod
select max(l.srednia), l.grupa from ((select grupa,AVG(punkty) as srednia from test GROUP BY grupa) l) GROUP BY l.grupa ORDER BY l.srednia DESC LIMIT 1


Trochę toporne ale działa smile.gif
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.