Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Ciągi obliczanie ilości liczy w ciągu
ghastblood
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
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:
  1. SELECT u.id, SUM(p.points) FROM users u LEFT JOIN scores s ON u.id = s.user_id
A i sortowanie da się zrealizować na poziomie SQL-a - seria COUNT-ów na poszczególnych ocenach (GROUP BY) i zwykłe ORDER BY.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 19:05