![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 14.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam dwie tabele, które łączę w zapytaniu LEFT JOINem.
Pierwsza [records] zawiera: id, name, value. Druga [records_values] zawiera: id, value, condition. Chcę wyciągnąć rekordy z unikalnymi id spełniające warunek i o najwyższej wartości condition. Powiedzmy, że tabele wypełnione są tak: [records] id | name | value 1 | ABC | 3 2 | DEF | 5 3 | GHI | 0 [records_values] id | condition | value 1 | 8 | 0 1 | 10 | 1 1 | 20 | 3 2 | 5 | 0 2 | 10 | 5 3 | 0 | 0 Chcę odpytać o unikalne rekordy, w których condition jest mniejsze od 15, ale maksymalne w swojej grupie, czyli: id | name | value 1 | ABC | 1 2 | DEF | 5 3 | GHI | 0 Próbowałem przez: SELECT r.id, r.name, rv.value FROM records r LEFT JOIN records_values rv USING (id) WHERE rv.condition < 15 GROUP BY r.id ORDER BY rv.condition DESC Niestety ORDER BY jest ignorowane lub nie działa tak jak przewidywałem. Jakies pomysły? Zadanie "na szóstkę": wynik całości ma być sortowany po id (IMG:style_emoticons/default/smile.gif) Z góry dziękuję! Czy można w ogóle sortować wewnątrz grupy? Ten post edytował pracus 6.11.2010, 09:26:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:43 |