sql >> Database teknologi >  >> RDS >> Mysql

mySql:får de rækker, hvor antallet af ord i cellen (strengkommasepareret) har samme værdi som en matchet celle

Overvej:

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

Udtryk char_length(type) - char_length(replace(type, ',', '')) giver dig antallet af kommaer i strengen. Tilføjer 1 til det giver dig antallet af ord i strengen.

Demo på DB Fiddle :

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



  1. MySQL-forespørgsel - få poster baseret på nuværende dato

  2. Mysql2::Fejl:Forkert strengværdi

  3. Eksporter tabel til fil med kolonneoverskrifter (kolonnenavne) ved hjælp af bcp-værktøjet og SQL Server 2008

  4. Få datoer fra et ugenummer i T-SQL