Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mySql:Ruft die Zeilen ab, in denen die Anzahl der Wörter in der Zelle (Zeichenfolge durch Kommas getrennt) denselben Wert wie eine übereinstimmende Zelle hat

Bedenken Sie:

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

Ausdruck char_length(type) - char_length(replace(type, ',', '')) gibt Ihnen die Anzahl der Kommas in der Zeichenfolge. Hinzufügen von 1 Damit erhalten Sie die Anzahl der Wörter in der Zeichenfolge.

Demo auf DB Fiddle :

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