sql >> Databasteknik >  >> RDS >> Mysql

hur man räknar förekomsten av ett ord i flera rader i en mysql db

Du kan lägga till antalet i ORDER BY klausul.

Försök så här:

SELECT *,(LENGTH(data) - LENGTH(REPLACE(data, 'key', ''))) / LENGTH('key') as cnt
FROM TableName
ORDER BY ((LENGTH(data) - LENGTH(REPLACE(data, 'key', ''))) / LENGTH('key')) DESC

För att få uppgifter om 2 förekomster kan du använda HAVING klausul:

SELECT *,(LENGTH(data) - LENGTH(REPLACE(data, 'key', ''))) / LENGTH('key') as cnt
FROM TableName
HAVING cnt=2
ORDER BY ((LENGTH(data) - LENGTH(REPLACE(data, 'key', ''))) / LENGTH('key')) DESC


  1. SQL-sats - VÄLJ inversen av denna fråga

  2. Hur man lägger till tid till ett Datetime-värde i MySQL

  3. att hämta data från två tabeller i mysql, join skulle inte fungera här

  4. Hur kontrollerar jag efter NULL i MySqlDataReader med kolumnens namn?