Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podanie maxymalnej i minimalnej wartosci rekordu.?
Forum PHP.pl > Forum > Bazy danych > MySQL
chipoldo
Baza: druzyna(druzyna_id, nazwa_druzyny), tabela(druzyna_id, strzelone, stracone).

chce żeby wyświetliło mi max, lub min w danej kolumnie (strzelone bądź stracone). max i min wyświetla ok. Problem polega na tym, że wyświetla mi zawsze nazwę drużyny, która została wpisana jako pierwsza do tabeli, mimo, że np. rekord max powinien podać inną drużynę. Kiedy wyświetlam id druzyn to jest ok, czyli problem tkwi w polaczeniu dwóch tabel pewnie, jednak nie jestem początkujący i nie umiem sobie z tym problemem poradzić

moje zapytanie wygląda tak:
select druzyna.nazwa_druzyny, max(tabela.strzelone) from `druzyna`, `tabela` where druzyna.druzyna_id=tabela.druzyna_id;
Rafal Filipek
ja bym to napisal tak
Kod
select druzyna.nazwa_druzyny, tabela.strzelone from druzyna, tabela
where druzyna.druzyna_id=tabela.druzyna_id order by tabela.strzelone DESC limit 1;

wydaje mi sie ze moze byc szybciej niz korzystanie z max'a. ewentualnie z max'em
Kod
select druzyna.nazwa_druzyny, tabela.strzelone from druzyna, tabela
where druzyna.druzyna_id=tabela.druzyna_id and tabela.strzelone = max(tabela.strzelone);


twoj blad polegal na tym ze pobierasz nazwe druzyny ale nie mowisz ze ma byc to druzyna z najwieksza iloscia strzelonych bramek. czyli brakowalo albo dodatkowego warunku albo kolejnosci.
chipoldo
pierwszy sposób już próbowałem wcześniej i rzeczywiście się sprawdził. myślałem jednak, że będzie szybciej z użyciem maxa, ale nie pomyślałem o tym, że z zastosowaniem maxa musi przejrzeć całą kolumnę(chyba dobrze rozumuje?). Czyli zastosuje 1 sposób. Dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.