Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Grupowanie i wypisywanie
Forum PHP.pl > Forum > Przedszkole
Cezikos
Cześć !

Jako, że raczkuję w bazach danych MySQL zrobiłem w ramach ćwiczeń tabelę, która posiada
ID | USER_ID | NICK | PKT

ID > primary key i auto increment
USER_ID > ID gracza, który bierze udział w turnieju (wpisywana ręcznie, może się powtarzać)
NICK > wiadomo
PKT > Ilość pkt, które zdobył w jednej z faz

Mój problem polega na tym iż USER_ID powtarza mi się i chcę zsumować temu samemu użytkownikowi z turnieju jego wszystkie pkty na podst. USER_ID i wypisać wszystkich użytkowników, tak żeby USER_ID już się nie powtarzało, a PKT były zsumowane. Może trochę zawile, ale myślę, że zrozumiecie.
com
USER_ID jest powtarzane w jednej tabeli jeśli tak to, źle zbudowaną masz bazę a do zmian liczby pkt używasz mysql update wink.gif
Cezikos
O komendzie UPDATE wiem, ale co, gdy już jest baza zbudowana ? Jest na to jakiś ratunek ? (Pytam się, gdyż lepiej zrobić błąd w ćwiczeniach niż w praktyce).
Co do USER_ID zrobic w drugiej tabelce i wtedy powiązać z nickiem z obu tabel ?(Myśląc logicznie zaoszczędzi się miejsce biggrin.gif)
com
no to tak jak powiedziałem trzeba unikać takich sytuacji, żeby powielać klucze np poprzez ustawienie dla rekordów UNIQUE KEY , a USER_ID z tabeli 1 łączysz z tabelą 2 relacją, patrząc na strukturę 1 tabeli właśnie za pomocą tego pola wink.gif poczytaj o relacjach o ile jeszcze tego nie robiłeś wink.gif
mmmmmmm
Ale to nie rozwiązuje jego problemu. Dla niego rozwiązaniem będzie GROUP BY + SUM
com
masz oczywiście rację, ale jak sam autor napisał się dopiero uczy, a robienie "syfu" w bazie nauczy go złych praktyk choć oczywiście słuszna uwaga, że to rozwiązuje jego problem wink.gif
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.