Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So zählen Sie Elemente in einer durch Kommas getrennten Liste MySQL

Es gibt keine eingebaute Funktion, die das Vorkommen von Teilstrings in einem String zählt, aber Sie können die Differenz zwischen dem ursprünglichen String und demselben String ohne Kommas berechnen:

LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))

Es wurde im Laufe von nun fast 8 Jahren mehrfach bearbeitet (wow!), also der Übersichtlichkeit halber:Die obige Abfrage benötigt kein + 1 , weil OPs-Daten ein zusätzliches nachgestelltes Komma haben.

In der Tat sieht der String im Allgemeinen so aus:foo,bar,baz der richtige Ausdruck wäre

LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1