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

Jak získat frekvenci slova v řadě pomocí fulltextu mysql

Vytvořte uživatelsky definovanou funkci, jako je tato

DELIMITER $$

CREATE FUNCTION `getCount`(myStr VARCHAR(1000), myword VARCHAR(100))
    RETURNS INT
    BEGIN
    DECLARE cnt INT DEFAULT 0;
    DECLARE result INT DEFAULT 1;

    WHILE (result > 0) DO
    SET result = INSTR(myStr, myword);
    IF(result > 0) THEN 
        SET cnt = cnt + 1;
        SET myStr = SUBSTRING(myStr, result + LENGTH(myword));
    END IF;
    END WHILE;
    RETURN cnt;    

    END$$

DELIMITER ;

Pak to můžete použít ve svém dotazu následovně

select id, getCount(concat(FREETEXT, Third_col), 'test') from yourtable

Doufám, že to pomůže




  1. Výběr float v MySQL

  2. Jak předat název vstupu prostřednictvím požadavku GET v PHP

  3. Přechod z MySQL 5.7 na MySQL 8.0 – Co byste měli vědět

  4. Tabulka s hodnotou Ekvivalent parametru v Postgresql