Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Funkcja split/explode?
Randallmaster
post
Post #1





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


Witam czy w mysql istnieje taka funkcja która pozwoli mi rozdzielić zawartość stringa.

Mam wartość '2.4.6' potrzebuje ją rozbić bez kropek i przesłać do funkcji in przykład:
t1.ip = '2.4.6';

select t1.*, sum(ilosc) from tabela t1 where id in (t1.ip <- explode)

Potrzebuję to aby zsumować wynik z 3 różnych wierszy o id 2,4,6

Ten post edytował Randallmaster 22.03.2016, 14:14:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Pokombinuj z SUBSTRING_INDEX()
Go to the top of the page
+Quote Post
Randallmaster
post
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


Próbowałem (IMG:style_emoticons/default/sad.gif) i nic
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




po grzyba explode? str_replace kropke na przecinek i masz co potrzebujesz do zapytania
A jak sie upierasz przy explode to walisz explode a potem impode po przecinku i wynik ten sam.

edit, a sorry, nie doczytalem ze to na poziomie mysql.... slepak ze mnie :/

edit2: to moze inaczej: co chcesz docelowo osiagnac?
Go to the top of the page
+Quote Post
Randallmaster
post
Post #5





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


takie coś mam

id ip ilość
2 # 2 # 12
4 # 2.4 # 22
6 # 2.4.6 # 45

muszę osiągnąć: sumę tego co znajduje się w gałęzi do pełnego adresu ip 2.4.6:
czyli:
id ip ilość
6 # 2.4.6 # 79

To jest tylko przykład gałęź może wyglądać różnorodnie. dlatego zależy mi na czymś uniwersalnym, dlatego myślałem o explode/split



Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Ale mowimy o konkretnej galezi? Jesli tak, to pobierz wpierw ja, a potem wstaw przetworzone dane do zapytania
Jesli nie, a ty chcesz to zrobic dla wszystkich naraz, to raczej sie nie da, bo ja tu widze totalne zapetlenie. No chyba ze od nadmiaru slonca mi sie mozg lasuje co tez jest mozliwe (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Randallmaster
post
Post #7





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


przykładową gałęź przedstawiłem powyżej.
jeżeli zrobię:

select sum(ilość) from table where id in (2,4,6).

Pokaże mi oczekiwany wynik.

Gałęzie mogą być różne. ale mam zawsze adres ip tego co potrzebuje wyciągnąć.


Ten post edytował Randallmaster 22.03.2016, 16:36:20
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




No to podalem ci rozwiazanie: pobierasz wpierw galaz, a gdy juz ja masz to albo str_replace albo explode/implode i wkladasz do zapytania. W czym problem?
Go to the top of the page
+Quote Post
Randallmaster
post
Post #9





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


Musi być to zrobione bez wykorzystania php (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

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: 23.12.2025 - 13:37