Zählen Sie die Vorkommen einer Unterzeichenfolge in einer MySQL-Spalte

Ich habe eine Tabelle, in der Informationen zu vielen Twitter-Tweets gespeichert sind, einschließlich des Tweet-Texts und des Bildschirmnamens des Benutzers, der den Tweet getwittert hat. Die Tweets enthalten Hashtags (beginnend mit #). Ich möchte die Anzahl der Hashtags zählen, die ein bestimmter Benutzer getwittert hat:

tweet_id |                       tweet_text                           | screen_name    |
--------------------------------------------------------------------------------------------
       1 | #hashtag1 #otherhashtag2 #hashtag3 some more text          | tweeter_user_1 |
       2 | some text #hashtag1 #hashtag4 more text                    | tweeter_user_2 |
       3 | #hashtag5 #hashtag1 @not a hashtag some#nothashtag         | tweeter_user_1 |
       4 | #hashtag1 with more text                                   | tweeter_user_3 |
       5 | #otherhashtag2 #hashtag3,#hashtag4 more text               | tweeter_user_1 |

Wenn ich die Hashtags von tweeter_user_1 zählen würde, würde ich ein Ergebnis von 8 erwarten. Wenn ich die Hashtags von tweeter_user_3 haben wollte, würde es 1 zurückgeben. Wie kann ich das tun, wenn mein Tabellenname Tweets ist?

Ich habe es versucht:SELECT COUNT( * ) FROM tweets WHERE( LENGTH( REPLACE( tweet_text, '#%', '@') = 0 ) ) AND screen_name = 'tweeter_user_1' aber es hat nicht funktioniert

Ich würde mich freuen, wenn das Ergebnis von tweeter_user_1 auch 9 wäre: D

Antworten auf die Frage(2)

Ihre Antwort auf die Frage