![]() |
![]() ![]() |
![]() |
![]() ![]()
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
Ale również bez sukcesu Ten post edytował Aztech 18.10.2007, 23:19:23 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
- Jakiego typu jest kolumna "Games" (SET [OF] ?)
- Czy jeden wpis (turniej) dotyczy jednej gry - pole "Games" np varchar, int, enum z jedna wartoscia, czy w polu Games masz gry wymienione np. po przecinku i chcesz policzyc turnieje ktore dotycza nie wiecej niz 100 gier? edit: Dorzuc kilka przykladowych wierszy z Twojej tabeli Moze o to Ci chodzi?
Ten post edytował prgTW 18.10.2007, 23:50:30 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 276 Pomógł: 3 Dołączył: 22.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@prgTW: zdecydowanie nie o to mi chodzi
Przykładowe dane: 1 10 1500 6 1 12 1460 6 1 13 1200 5 1 26 1000 3 2 10 1436 6 2 13 1564 6 ... 55 10 1342 5 55 13 1542 5 55 14 1321 4 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Podaj tez jakie chcesz wynikowe rekordy otrzymac, bo nie wiem za bardzo o co ci chodzi w pierwszym poscie.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wybrać z ostatnich turniejów tyle wpisów, aby liczba gier była < 100. Gra dla turnieju jest zawsze rowna 1 (zawsze <100), zatem jesli chodzi Ci o cos innego tzn. ze nie umiesz tego napisac a prosisz o pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Logicznie rzecz biorac z Twojego postu wynika, ze LIMIT jest tym czego szukasz :/ |
|
|
![]()
Post
#6
|
|
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 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Aaa no to teraz wszystko jak dla mnie jasne. Pisz procedure/funkcje, z kursora zczytuj kolejne wiersze dopoki beda spelniac warunek
btw: nie prosciej bylo napisac "chce zczytywac kolejne wiersze z tabeli posortowanej malejaco po ID turnieju jednoczesnie liczac sume wartosci w kolumny Games dopoki suma ta bedzie <100" ... grunt to umiec zdefiniowac problem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował prgTW 19.10.2007, 23:38:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 13:22 |