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
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Zapytanie z podzapytania:
  1. SELECT wynik1+wynik2+wynik3 FROM
  2. (SELECT (SELECT COUNT(wynik_id) FROM ".DB_WYNIKI." WHERE sesja_id =5 AND user_id='".$_GET['user_id']."') AS wynik1,
  3. (SELECT AVG(miejsce) FROM ".DB_WYNIKI." WHERE sesja_id =3 AND user_id='".$_GET['user_id']."') AS wynik2,
  4. (SELECT SUM(lider) FROM ".DB_WYNIKI." WHERE sesja_id =1 AND rok=3 AND user_id='".$_GET['user_id']."') AS wynik3) x

Ja natomiast jestem zwolenniekiem wykonywania wszystkiego za jednym zapytaniem. Nawet twoje zapytanie można tak wykonać... (IMG:style_emoticons/default/smile.gif)
  1. SELECT Count(case when sesja_id=5 then wynik_id end) wynik1, Avg(case when sesja_id=3 then miejsce end) wynik2, SUM(case when sesja_id=1 then lider end) wynik3 FROM ".DB_WYNIKI" WHERE user_id=3 AND sesja_id IN (1,3,5)
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: 13.10.2025 - 01:34