sql >> Database >  >> RDS >> Mysql

Hoe items in door komma's gescheiden lijst te tellen MySQL

Er is geen ingebouwde functie die het aantal subtekenreeksen in een tekenreeks telt, maar u kunt het verschil berekenen tussen de originele tekenreeks en dezelfde tekenreeks zonder komma's:

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

Het is in de loop van bijna 8 jaar nu meerdere keren aangepast (wauw!), dus voor de duidelijkheid:de bovenstaande zoekopdracht heeft geen + 1 nodig , omdat OPs-gegevens een extra volgkomma hebben.

Terwijl inderdaad, in het algemeen voor de string die er als volgt uitziet:foo,bar,baz de juiste uitdrukking zou zijn

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


  1. Hoe video-inhoud op te slaan in de SQLite-database (niet het videopad)

  2. Wat is het doel van het gebruik van OPTION(MAXDOP 1) in SQL Server?

  3. Sorteren (volgorde op) gebruiken in Select-instructie in SQL Server - SQL Server / TSQL-zelfstudie, deel 109

  4. php / Mysql beste boomstructuur