Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : (MYSQL) - IMDB ID in spalte finden



darkness
13.05.2018, 19:22
Hallo,

ich würde gerne in Erfahrung bringen wie ich in einer Mysql Abfrage sprich via Select aus einer spalte (description) eine imdb auslesen kann. Sprich ich möchte quasi sowas haben wie "suche mir tt gefolgt von 7 zahlen und speicher das in imdbid"

Hat da jemand ne Idee?

Das ganze ist nur sinnvoll wenn ich dann ein GROUP BY imdb machen kann ...

lg

fritzi
13.05.2018, 19:46
Na du kannst ja ganz normale ne Regex nutzen beim select


SELECT * FROM movies WHERE text REGEXP '/tt\\d{7}/';

allerdings wird das echt langsam sein. Wobei ich das mit regexp selber noch nie benutzt habe ;)

darkness
13.05.2018, 19:57
Ich glaube die bessere Lösung wäre es die IMDB in einer extra Spalte zu speichern. Ich hätte die Regex wie gesagt im Select gebraucht um hinterher ein Group By darauf machen zu können.

lg & danke

udg
13.05.2018, 20:27
eine Frage, was möchtest Du so von imdb zurück bekommen?

Ich hab da ein Tool probeweise geschrieben, mit dem man alle Informationen zu einem Film, Serie oder Staffel mit Bild zurück bekommt.

Ist es das, was Du machen möchtest?

VG

darkness
13.05.2018, 20:34
Nein. Ich habe in der Mysql Datenbank eine Spalte "description" ... Da steht halt Text drin und unter anderem auch ein IMDB Link.
Ich benötige nun in der Datenbank Abfrage eine Möglichkeit ein Group By auf "die imdb id" zu machen.

Sprich Select *some mysql voodoo here* extrahiere die IMDB ID aus dem ganzen Text und speichere sie in imdbid ab WHERE ... GROUP BY imdbid


...

lg

udg
13.05.2018, 20:52
Sprich Select *some mysql voodoo here* extrahiere die IMDB ID aus dem ganzen Text und speichere sie in imdbid ab WHERE ... GROUP BY imdbid


Aha. das geht in eine andere Richtung ;)

Nimbus
14.05.2018, 09:31
Das Stichwort fiel doch schon. Wenn du jetzt noch die einen kurzen Blick in die Anleitung wirfst, dann weißt du auch wie es geht.
Einfach die richtige Funktion heraussuchen und benutzen https://dev.mysql.com/doc/refman/8.0/en/regexp.html

darkness
14.05.2018, 10:47
Ja.
Ist sogar relativ schnell. Hätte ich nicht erwartet ^^

Query:


SELECT REGEXP_SUBSTR(description, 'tt[0-9]{7}') as imdbid FROM movies GROUP BY imdbid LIMIT 25


Danke an alle ^^