w mysql, chcę zaznaczyć dolne 2 pozycje z każdej kategoriiSQL Query wybrać dno 2 z każdej kategorii
Category Value
1 1.3
1 4.8
1 3.7
1 1.6
2 9.5
2 9.9
2 9.2
2 10.3
3 4
3 8
3 16
Nadanie mnie:
Category Value
1 1.3
1 1.6
2 9.5
2 9.2
3 4
3 8
Zanim migracji z sqlite3 miałem aby najpierw wybrać najniższą z każdej kategorii, a następnie wykluczając wszystko, co do niej dołączyło, musiałem ponownie wybrać najniższą z każdej kategorii. Wtedy wszystko co najmniej równe temu nowemu najniższemu lub mniej w danej kategorii wygrywa. To by również wybrało więcej niż 2 w przypadku remisu, co było denerwujące ... Miało również bardzo długi czas działania.
Moim ostatecznym celem jest policzenie, ile razy dana osoba znajduje się w jednej z dwóch najniższych kategorii (istnieje również pole nazwy) i jest to jedna część, której nie umiem. Dzięki
Czy istnieje również identyfikator, który jest unikalny dla każdego wiersza? –
Skoro nie lubisz więzi, jak zamierzasz ich unikać? Każde rozwiązanie, które ktoś wymyśli, będzie musiało w jakiś sposób poradzić sobie z więzami, więc powinieneś starać się dokładnie określić zasady, które nimi rządzą. –
Oznacziłem to pytanie jako "największy-na-grupę", ponieważ jest podobny do wielu innych pytań zadawanych przez StackOverflow za pomocą tego znacznika. Chociaż rozumiem, że pytasz o * najmniejsze wartości w grupie, technika rozwiązania tego problemu jest taka sama. –