Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać częstotliwość słowa z rzędu za pomocą mysql fulltext

Utwórz funkcję zdefiniowaną przez użytkownika, taką jak ta

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 ;

Następnie możesz użyć tego w zapytaniu w następujący sposób

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

Mam nadzieję, że to pomoże




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php - konwersja z jednego formatu json na inny

  2. SQL INSERT INTO do wielu tabel

  3. Jak zoptymalizować tabele MySQL/MariaDB

  4. 10 przydatnych wskazówek dotyczących dostrajania wydajności MySQL

  5. Czy istnieje bardziej wydajny sposób tworzenia stronicowania w Hibernate niż wykonywanie zapytań wybierających i zliczających?