Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie sumujące z ograniczeniami
Aztech
post
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Chciałbym z następującej tabelki:
| TournID | PersonID | Score | Games |
Wybrać z ostatnich turniejów tyle wpisów, aby liczba gier była < 100.
Stworzyłem już zapytania z SUM na wszytkie możliwe sposoby, ale nie mam zielonego pojęcia jak skonstruować pozostałe warunki (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Próbowałem również kombinować w następujący sposób
  1. SELECT * , @t := @t + Gry
  2. FROM `listarank` AS l
  3. WHERE @t <100
  4. ORDER BY turnid DESC

Ale również bez sukcesu

Ten post edytował Aztech 18.10.2007, 23:19:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Aztech
post
Post #2





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Widać niezbyt precyzyjnie się wyraziłem.
Założenia:
- im większe ID turnieju, tym nowszy to turniej
- tabelkę należy przeglądać od tyłu, czyli od najnowszego turnieju
- należy wybrać dla danej osoby taki zbiór turniejów, w których dana osoba grała, poczynając od najnowszego, aby suma gier dla tych turniejów była nie większa niż 100 (poprzednio nieprecyzyjnie napisałem, że liczna gier).
- rezultatem zapytania może by suma gier (Games) oraz uzyskanych punktów (Scores) dla danego gracza lub też lista gier spełniających w/w warunki
Poniżej przykład ale dla sumy nie większej niż 10 (dodałem rekord ID aby łatwiej się analizowało)
Rekord ID | TournID | PersonID | Score | Games
1 1 10 1500 6
2 1 20 1460 6
3 1 30 1200 5
4 2 10 1436 6
5 2 20 1564 6
6 2 50 950 3
7 3 10 1600 3
8 3 30 1450 4
9 3 40 1200 4
10 3 50 700 2
11 4 10 300 1
12 4 20 600 2
13 4 30 700 2
14 4 40 800 2
15 5 50 700 2
16 5 40 1200 4
17 5 50 1300 4
Dla gracza o id 50 wynik zapytania powinien być następujący
PersonID Sum(Score) Sum(Games)
5 2700 8
lub lista wybranych rekordów o ID
17, 15, 10
Gdyby rekord o ID 6 wyglądał następująco
6 2 50 950 2
również by się załapał ponieważ suma gier (Games) wynosiłaby wtedy 10.
Mam nadzieję, że to będzie w miarę czytelne

Ten post edytował Aztech 19.10.2007, 23:20:25
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: 14.10.2025 - 06:29