[MySQL] substring mbv. regex selecteren en daarop groupen

Pagina: 1
Acties:

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Om even met de deur in huis te vallen. Is het mogelijk om in MySQL een stuk van een string te selecteren aan de hand van een regular expression en daarop te groupen?

Dit heb ik namelijk nodig om uit een database met geregistreerde referers alle google zoek resultaten er uit te filteren en daarvan de tot 10 ( of 20 whatever..) te nemen.

Dit gaat allemaal al redelijk aardig alleen group ik nu op het complete referer veld. Als deze net iets anders is dan een andere en de zoek woorden zijn toch gelijk, dan worden ze toch als twee verschillende gezien. Dit heb ik geprobeerd op te lossen door gewoon wat meer te selecteren en dan achteraf de resultaten optellen die gelijk zijn, maar dat is ook niet echt netjes.

Iemand die kan helpen?

Noushka's Magnificent Dream | Unity


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

't Kan wel, maar levert je wel vrij vervelende regexp's/substrings op. Bij mijn weten is er namelijk geen "replace"-achtige functie met regexp in MySQL.
Je kan natuurlijk ook de http:// verwijderen en daarna alles na de eerstvolgende / weghalen, dat is denk ik het eenvoudigst. Maar dan zonder regexp, gewoon dmv replace en de substring-functie.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Ok ik heb het opgelost.

Ik met het referer veld nu met behulp van twee LOCATE functie statements. En ik selecteer het juiste stukje door twee geneste SUBSTRING_INDEX functies te gebruiken. Werkt peferct en is ook nog eens een behoorlijk stuk sneller.

Als iemand nog een brilliante oplossing weet dan hoor ik het graag natuurlijk.

Noushka's Magnificent Dream | Unity