Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да броим елементи в списъка, разделен със запетая, MySQL

Няма вградена функция, която да брои случаите на подниз в низ, но можете да изчислите разликата между оригиналния низ и същия низ без запетаи:

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

Редактирано е многократно в продължение на почти 8 години (уау!), така че за по-голяма яснота:заявката по-горе не се нуждае от + 1 , тъй като данните на OPs имат допълнителна запетая.

Макар че наистина, в общия случай за низа, който изглежда така:foo,bar,baz правилният израз би бил

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. Защо може да има само една колона TIMESTAMP с CURRENT_TIMESTAMP в клаузата DEFAULT?

  2. Инсталирайте MySQL Workbench за администриране на бази данни

  3. Как да изтрия от множество таблици в MySQL?

  4. SQL заявка за изтриване на таблица в MySQL

  5. Използване на група по две полета и броене в SQL