Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zliczanie wystapien, regexp
dharul
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.07.2008
Skąd: Kraków

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


Szanowni forumowicze, potrzebuje pomocy i/lub informacji czy dane ktore chce uzyskac z bazy sa w ogole mozliwe do uzyskania.

Mam tabele:

------------------
id | visit_host |
------------------
1 | onet.pl |
2 | net.de |
3 | chelo.pl |
...


Potrzebuje uzyskac dane w takiej postaci

ile | domena
-------------
1 | .de
3 | .pl


Czyli krotko mowiac zliczanie wystapien takiej samej domeny w kolumnie visit_host

napisalem cos takiego:

  1. SELECT count(*) AS ile, '.pl' AS domena FROM `visit` WHERE visit_host REGEXP '[.]pl'


aczkolwiek jak widac nie jest to zapytanie najwyzszych lotow. Moje pytania sa nastepujace:

1. czy mozna w jakis sposob wyswietlic wyciety fragment stringa przy pomocy regexp? (regexp daje tylko infromacje boolowska)
2. czy jest sens w tym przypadku joinowac tabele sama do siebie?
3. jak zliczyc wystepowanie takich samych fragmentow w stringu?

Bede wdzieczny!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dharul
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.07.2008
Skąd: Kraków

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


dzieki za odpowiedz

niestety bardziej chodzilo mi o to, ze mam wiele roznych rodzajow domen w visit_host (tzn. nie wiem ile i jakie), a nie tylko dwie .pl i .de ...
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To po co używasz REGEXP do takich prostych wyrażeń? Jeśli masz stałą liczbę znaków poszukiwanych od prawej, to skorzystaj z czegoś takiego:

  1. SELECT * FROM domeny WHERE RIGHT(domena,3)

Tylko sobie dostosuj. Nie ma sensu męczyć dodatkowo wyrażeń regularnych, jeśli można osiągnąć taki sam efekt korzystając z mniej zasobożernych funkcji.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 08:27