sql >> Databasteknik >  >> RDS >> Mysql

mySql:får raderna där antalet ord i cellen (strängkommaseparerad) har samma värde som en matchad cell

Tänk på:

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

Uttryck char_length(type) - char_length(replace(type, ',', '')) ger dig antalet kommatecken i strängen. Lägger till 1 till som ger dig antalet ord i strängen.

Demo på DB Fiddle :

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



  1. Skicka en array från PHP till Javascript med JQuery &JSON

  2. spola tabeller - åtkomst nekad

  3. MySQL-uppdatering tar (för) lång tid

  4. Ändra decimalavgränsare i MySQL