Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak liczyć elementy na liście oddzielonej przecinkami MySQL

Nie ma wbudowanej funkcji zliczającej wystąpienia podciągu w ciągu, ale można obliczyć różnicę między oryginalnym ciągiem a tym samym ciągiem bez przecinków:

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

Było edytowane wiele razy w ciągu prawie 8 lat (wow!), więc dla jasności:powyższe zapytanie nie wymaga + 1 , ponieważ dane OP mają dodatkowy końcowy przecinek.

Chociaż rzeczywiście, w ogólnym przypadku dla ciągu, który wygląda tak:foo,bar,baz poprawnym wyrażeniem byłoby

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak utworzyć użytkownika MySQL tylko do odczytu?

  2. Funkcja rankingowa w MySQL

  3. Korzystanie z relacyjnych baz danych MySQL w Fedorze 20

  4. Jak przekonwertować czas UTC na czas lokalny w MySQL?

  5. mysql, iteruj przez nazwy kolumn