sql >> Databáze >  >> RDS >> Mysql

mySql:získá řádky, ve kterých má počet slov v buňce (řetězec oddělený čárkou) stejnou hodnotu jako odpovídající buňka

Zvažte:

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

Výraz char_length(type) - char_length(replace(type, ',', '')) vám dává počet čárek v řetězci. Přidání 1 to vám dá počet slov v řetězci.

Ukázka na DB Fiddle :

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



  1. Jak v oracle změním svou relaci tak, aby zobrazovala UTF8?

  2. Obsah podle uživatele:dvě tabulky se sloupci stejného jména nebo spojení?

  3. Přidání mysql_real_escape_string() způsobí, že se do databáze uloží prázdné hodnoty

  4. mySQL návratový index po vložení