Anzahl Studenten je First-Level-Domain

h0ax3s

Neuer Benutzer
Beiträge
3
Hallo zusammen,

kann mir vllt jmd sagen, wie ich nach einer first-level-domain einer Email selektieren kann und dies nach ihren Endungen gruppiere? (also .de, .com)

Also am Ende sollte quasi dastehen:

FirstLevelDomains ___Anzahl
.de________________n
.com______________n
… ________________n

Ich habe leider null Ideen wie ich dies bewerkstellige.

Danke für eure Hilfe.

VG
Marco
 
Zuletzt bearbeitet:
Werbung:
Code:
test=*# select * from h0ax3s ;
      d       
--------------
 bla@fasel.de
 foo@xyz.de
 test@abc.com
 abc@def.it
(4 rows)

test=*# select regexp_replace(d, '^.*\.',''), count(1) from h0ax3s group by 1 ;
 regexp_replace | count
----------------+-------
 com            |     1
 it             |     1
 de             |     2
(3 rows)

so vielleicht? Ist aber PostgreSQL.
 
Ja, so soll das Ergebnis am Schluss aussehen. Leider hilft mir ihr Code nicht wirklich weiter, zumal er, wie sie schon sagen, von PostgreSQL ist und nicht MySQL. Da fehlt mir leider noch das nötige Wissen es in MySQL Code umzumünzen.
 
naja, der Weg sollte klar sein: die TLD abtrennen, zählen & nach der angetrennten TLD gruppieren. Schau also in den Werkzeugkasten von MySQL, welche Werkzeuge es dafür gibt. Also für das abtrennen. Sollte so schwer nicht sein, der Werkzeugkasten ist überschaubar klein.
 
alternativ mit split_part und reverse, und GROUP BY nicht nach der Spaltennummer, sondern syntaktisch besser nach der konkreten Spaltendefinition:

Code:
test=*# select reverse(split_part(reverse(d),'.',1)), count(1) from h0ax3s group by reverse(split_part(reverse(d),'.',1));
 reverse | count
---------+-------
 com     |     1
 it      |     1
 de      |     2
(3 rows)
 
Werbung:
Zurück
Oben