Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pogrupowanie domen
DNMX
post 16.11.2021, 13:21:12
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.09.2021

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


Mam bazę danych z domenami internetowymi. Rekordy typu:

domenka.pl
inna.domena.eu
subdomena.domeny..net
jeszcze.dluzsza.nazwa.com

Na podstawie tego chcialbym stworzyc statystyki, ktora koncowka, czy to .,pl czy .net jest najpopularniejsza. Jak to zrobić z poziomu serwera SQL? Grupowanie, subsring na ostatnego stringa po kropce? Jak to ugryżć?
Go to the top of the page
+Quote Post
vokiel
post 16.11.2021, 18:06:01
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Tak SUBSTRING() z LOCATE() plus pewnie jeszcze REVERSE() i LENGTH() da radę wyciągnąć ciąg po ostatniej kropce.

Chociaż łatwiej będzie z SUBSTRING_INDEX():

  1. /* Create a table called NAMES */
  2. CREATE TABLE NAMES(id integer PRIMARY KEY, domain text);
  3.  
  4. /* Create few records in this table */
  5. INSERT INTO NAMES VALUES(1,'domenka.pl');
  6. INSERT INTO NAMES VALUES(2,'inna.domena.eu');
  7. INSERT INTO NAMES VALUES(3,'cokolwiek.eu');
  8. INSERT INTO NAMES VALUES(4,'subdomena.domeny..net');
  9. INSERT INTO NAMES VALUES(5,'jeszcze.dluzsza.nazwa.com');
  10. INSERT INTO NAMES VALUES(6,'example.com');
  11.  
  12.  
  13. SELECT
  14. SUBSTRING_INDEX(`domain`, '.', -1) AS 'tld',
  15. COUNT(`id`) AS 'items_count'
  16. FROM `NAMES`
  17. GROUP BY tld


Kod
tld    ile
pl    1
eu    2
net    1
com    2



--------------------
Go to the top of the page
+Quote Post
DNMX
post 17.11.2021, 14:24:14
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.09.2021

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


Dzięki, działa a taka dokładnie kwerenda daje interesujące mnie statystyki
  1. SELECT SUBSTRING_INDEX(`domain`, '.', -1) AS 'tld', COUNT(`id`) AS 'items_count' FROM `banned_domains` GROUP BY tld ORDER BY `items_count` DESC
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 Wersja Lo-Fi Aktualny czas: 28.04.2024 - 01:21