![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
W jaki najlatwiejszy sposob można wyciągnąc informacje ile razy użytkownik ABC miał najmniejszy wynik w danej grupie zakładając że unikalność grupy określa druga kolumna klasa_id czyli połączenie kolumn grupa i klasa ustala czy dany wynik jest w tej samej grupie czy juz w innej. Wycinek tabeli ID|user|wynik|grupa|klasa 1 | ABC | 3 | 1 | 1 | 2 | ZXC | 5 | 1 | 1 | 3 | XCZ | 1 | 2 | 1 | 4 | ABC | 4 | 2 | 1 | 5 | XCZ | 4 | 1 | 2 | 6 | ABC | 7 | 1 | 2 | Czyli mamy po 2 rekordy (dwa wyniki, dwoch uzytkownikow) w trzech grupach 1-1, 2-1 i 1-2. Na tym przykladzie ABC wystapil 3 razy ale najmniejszy wynik mial tylko w grupie 1-1. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zdecydowanie odradzam tworzenie takiego rodzaju zapytań. Mysql zwróci tutaj pierwszego w grupie usera przy małej ilości danych, zupełnie dowolnego i nieoczekiwanego przy większej ilości. Prawidłowo powinno być:
W tym przypadku zakładamy że user może mieć tylko jeden wynik w danej grupie i klasie oraz jeśli w najmniejszych wynikach jest remis, a jeden z tych wyników należy do szukanego usera, to wciąż się liczy jako najmniejszy. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 08:56 |