sql >> データベース >  >> RDS >> Mysql

mysqlフルテキストを使用して行の単語の頻度を取得する方法

    このようなユーザー定義関数を作成します

    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 ;
    

    次に、これをクエリで次のように使用できます

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

    お役に立てば幸いです




    1. SQLSelectシンボルとは||平均?

    2. 非常に古い日付をデータベースに保存する方法は?

    3. SQL Serverエージェントジョブ(T-SQL)のジョブステップを取得する3つの方法

    4. RODBC odbcDriverConnect()接続エラー