Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Limit
Athlan
post 27.07.2007, 22:17:45
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Witam drodzy forumowicze smile.gif

Zacznę od przedstawienia zapytania:

  1. SELECT
  2. job_status_team AS team,
  3. (SUM( job_status_points ) / COUNT( job_id ) + team_rating_bonus) AS rating
  4. FROM jobs INNER JOIN teams ON (job_status_team = team_id)
  5. GROUP BY team
  6. ORDER BY rating DESC


Powyższe zapytanie pobiera mi wszystkie zadania przypisane do drużyn i liczy średnią drużyny poprzez obliczenie średniej punktów otrzymanej za każde zadanie + bonus minusowy bądź dodatni w polu team_rating_bonus. Dane są zwracane w następujący sposób: team -> rating.

Problem polega na tym, że średnia jest liczona ze wszystkich prac, jednakże chciałbym liczyć ją po ostatnich wykonanych pracach wg pola job_date DESC. Nie mam pojęcia jak to wyorderować, ani jak wylimitować, bo wszystko wpływa na wyświetlanie rezultatu drużyna => rating, a nie na same obliczenia.

Może jakieś podzaptanie?

Dziękuję za pomoc smile.gif


--- EDIT ---

Zrobiłem w PHP, limit jest robiony w linii 26, ale myślę, że da się to zrobić na poziomie MySQL'a
http://phpfi.com/252831


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
devnul
post 28.07.2007, 00:44:23
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


nie wiem czy to późna pora czy może to że niezbyt przejżyście opisałeś temat - ale kompletnie nie mam pojęcia na czym polega Twój problem.

BTW - czemu korzystasz z phpfi skoro jestes autorem analogicznego systemu (cpaste). Nie jest wystarczająco dobry? snitch.gif


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
Athlan
post 28.07.2007, 09:49:41
Post #3





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Cytat
BTW - czemu korzystasz z phpfi skoro jestes autorem analogicznego systemu (cpaste). Nie jest wystarczająco dobry? snitch.gif

Na szybko wrzuciłem snitch.gif

Problem polega na tym, że są 2 tabele:
teams - drużyny
jobs - prace

Za każdą pracę zespół dostaje średnią która jest zapisywana w job_points w tabeli jobs. Dodatkowo jest tabela teams, która zawiera dane z drużynami, które te prace wykonują. One mają być poukładane wg rankingu (czyli średniej średnich z 3 ostatnio wykonanych prac). Teraz ta średnia średnich prac jest liczona ze wszystkich prac w tabeli jobs, a chciałbym, żeby liczona była z 3 ostatnich biorąc pod uwagę sortowanie: ORDER BY job_time_start DESC LIMIT 0, 3.

I moje pytanie brzmi: Jak to zrobić smile.gif

Pozdro


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:27