![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki problem zapisuje do bazy danych ciągi od 0 do 10 dlugość 10 cyfr oddzielona przecinkiem (10,10,9,8,8,9,9,8,8,7) potrzebuje policzyć ile razy występuje dana cyfra a konkretnie aż do rozstrzgnięcia wyniku np zawdonik 1 string(21) "10,10,9,8,8,9,9,8,8,7" zawodnik 2 string(19) "9,9,9,9,8,9,9,8,8,8" jedenk i drugi zawonik mają ten sam wynik czyli 86 więc w zasadzie są na tym samy miejscu aby rozstrzygnąć kto jest lepszy należy policzyć ilość 10 ,9, 8 aż do rozstrzygnięcia czyli zawodnik 1 jest na pierwszym miejscu bo ma 2x10 a zawodnik 2 jest na drugim miejscu bo ma 0x10 jeżeli zawodniczy mają tyle samo 10 to sprawdzana jest kolejna cyfra czyli może być zawodnik 1 2x10, 3x9 4x8 zawodnik 2 2x10, 3x9, 3x8 i takie dane potrzebuje zapisać do bazy danych. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim popraw strukturę bazy danych. Te wyniki (pojedyncze) powinny być osobnymi rekordami w tabeli związanej relacją wiele-do-jednego z tabelą użytkownika. Wtedy wybranie sumy jest banalnie proste:
A i sortowanie da się zrealizować na poziomie SQL-a - seria COUNT-ów na poszczególnych ocenach (GROUP BY) i zwykłe ORDER BY. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 19:05 |