Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Działania arytmetyczne
arfer
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 23.04.2012

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


Witam,
Mam nastepujace wyniki pobrane z bazy danych:

(SELECT COUNT(wynik_id) FROM ".DB_WYNIKI." WHERE sesja_id =5 AND user_id='".$_GET['user_id']."') AS wynik1,
(SELECT AVG(miejsce) FROM ".DB_WYNIKI." WHERE sesja_id =5 AND user_id='".$_GET['user_id']."') AS wynik2,
(SELECT SUM(lider) FROM ".DB_WYNIKI." WHERE sesja_id =5 AND user_id='".$_GET['user_id']."') AS wynik3


i chcialbym wykonac na nich nastepujace dzialania arytmetyczne:

wynik1 * 0,01 + wynik2 * 0,02 + wynik3 * 0,02

W jaki sposob powinienem to zapisac by jak najplynniej bez obciazania serwera mogl uzyskac wynik tych dzialan?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arfer
post
Post #2





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 23.04.2012

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


W swoim poscie bardzo skrocilem liczbe i rodzaj zapytan poniewaz chodzilo mi tylko o poznanie metody jak to zrobic a reszte zbudowalbym sobie sam ale teraz juz widze ze w ten sposob co podales Sazian nie bede mogl tego zrobic dlatego bo:

nie zaznaczylem tego ale kryteria where nie sa zawsze takie same - czasem jest sesja_id=5 a innymi razem 1,2,3 itd w zaleznosci od rodzaju wyniku jaki chce uzyskac a w koncowcym zapytaniu sumowym bede chcial je umiescic. Kryteria where ponadto nie roznia sie tylko sesja ale w niektorych wynikach dochodza nowe kryteria jak rok itd dlatego nie moge where sprowawdzic do wspolnego mianownika wszystkich wynikow poniewaz kazdy wynik ma inne kryteria (czesc sie powtarza czesc ma inne). To co pozostaje stale to to ze wyciagane wyniki sa z tabeli wyniki i ze kryterium podstawowe to pobieranie wynikow tylko dla danego usera.

Jeszcze jedna sprawe na ktora chcialbym zwrocic uwage to fakt ze ostateczny wynik tych dzialan arytmetycznych bedzie wykorzystywany w tym samym zapytaniu tak samo jak te pierwsze wyniki (wynik1, wynik2 itd). Na stronie bedzie tabela gdzie w jednej kolumnie bedzie wynik1, w drugiej wynik2 a na koncu wynik (o ktory pytam). Dlatego wszystko musi byc w jednym zapytaniu.

W zwiazku z tym prosilbym o pomoc w zrobeniu tych dzialan arytmetycznych wykorzystujacych wyniki pobrane w taki sposob:
(SELECT COUNT(wynik_id) FROM ".DB_WYNIKI." WHERE sesja_id =5 AND user_id='".$_GET['user_id']."') AS wynik1,
(SELECT AVG(miejsce) FROM ".DB_WYNIKI." WHERE sesja_id =3 AND user_id='".$_GET['user_id']."') AS wynik2,
(SELECT SUM(lider) FROM ".DB_WYNIKI." WHERE sesja_id =1 AND rok=3 AND user_id='".$_GET['user_id']."') AS wynik3
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 04:34