Mysql
 sql >> Database >  >> RDS >> Mysql

Come contare gli elementi nell'elenco separato da virgole MySQL

Non esiste una funzione incorporata che conta le occorrenze della sottostringa in una stringa, ma puoi calcolare la differenza tra la stringa originale e la stessa stringa senza virgole:

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

È stato modificato più volte nel corso di quasi 8 anni (wow!), quindi per motivi di chiarezza:la query sopra non ha bisogno di un + 1 , perché i dati degli OP hanno una virgola finale aggiuntiva.

Mentre in effetti, in generale, per la stringa che assomiglia a questa:foo,bar,baz l'espressione corretta sarebbe

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