Vorkommen von Teilzeichenfolgen zählen und nach Häufigkeit in MySQL sortieren
Problem:
Ihre MySQL-Datenbank enthält ein Zeichenfolgenfeld, und Sie müssen:
Lösung:
Um dies zu erreichen können Sie Folgendes nutzen Code:
SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt FROM table_name ORDER BY cnt DESC
Erklärung:
Beispiel Verwendung:
mysql> select (CHAR_LENGTH('asd') - CHAR_LENGTH(REPLACE('asd', 's', ''))) / CHAR_LENGTH('s'); +-----------------------------------------------------------------+ | (CHAR_LENGTH('asd') - CHAR_LENGTH(REPLACE('asd', 's', ''))) / CHAR_LENGTH('s') | +-----------------------------------------------------------------+ | 1.0000 | +-----------------------------------------------------------------+ mysql> select host, (CHAR_LENGTH(host) - CHAR_LENGTH(REPLACE(host, 'l', ''))) / CHAR_LENGTH('l') AS cnt from user; +-----------+--------+ | host | cnt | +-----------+--------+ | 127.0.0.1 | 0.0000 | | honeypot | 0.0000 | | honeypot | 0.0000 | | localhost | 2.0000 | | localhost | 2.0000 | +-----------+--------+
Hinweis:
Diese Methode ist zuverlässig, hat jedoch den potenziellen Nachteil, dass sie bei großen Datensätzen möglicherweise ressourcenintensiv ist.
Das obige ist der detaillierte Inhalt vonWie zähle ich das Vorkommen von Teilzeichenfolgen und ordne sie nach Häufigkeit in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!