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

mySql:получава редовете, където броят на думите в клетката (разделен низ със запетая) има същата стойност като съответстваща клетка

Помислете за:

select *
from tab1
where char_length(type) - char_length(replace(type, ',', '')) + 1 = qta

Израз char_length(type) - char_length(replace(type, ',', '')) ви дава броя запетаи в низа. Добавяне на 1 to ви дава броя на думите в низа.

Демо на DB Fiddle :

id | cod | type        | qta
-: | :-- | :---------- | --:
 1 | aaa | aaa,bbb,ccc |   3
 2 | aaa | ddd         |   1
 4 | aaa | ggg,hhh     |   2



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Групиране по стойност RAND()

  2. Изберете MAX или Order By Limit 1

  3. Регистрирайте ЗАПИСКИ, не използвайки INDEX - MySQL

  4. Как да обедините две таблици в MySQL

  5. Не може да се конвертира varchar в datetime в MySql