mysql 统计以逗号分隔的影片类型

原始数据是这样的:

mysql 统计以逗号分隔的影片类型_第1张图片

每个影片有多个类型,想要统计热门的影片类型

建立一个表 meiju_classify 记录类型值,使用存储过程从原表中录入数据

delimiter //
CREATE PROCEDURE p_insert_classify ()
BEGIN
DECLARE sum INT ;
DECLARE i INT DEFAULT 0 ;
DECLARE j INT DEFAULT 1 ;
DECLARE s VARCHAR(20);
DECLARE k INT;
DECLARE m INT;
DECLARE word VARCHAR(4);
DECLARE meijutt_cur1 CURSOR FOR SELECT classify FROM     meijutt ; 
OPEN meijutt_cur1 ; 
SELECT count(1) INTO sum FROM meijutt ;
WHILE i < sum DO
    FETCH meijutt_cur1 INTO s;
    SELECT char_length(s) - char_length(REPLACE(s, ',', '')) + 1 INTO k ;
    set m=0;
    WHILE m < k DO
       SELECT substring_index(substring_index(s, ',', m + 1),',' ,-1) INTO word ; 
       INSERT INTO meiju_classify (classify) VALUES (word) ;
         SET m = m + 1;
    END WHILE ;
SET i = i + 1 ;
END WHILE ;
END//
delimiter ;

调用存储过程

call p_insert_classify ();

根据meiju_classify表统计结果

select classify,count(1) from meiju_classify group by classify order by count(1) desc;

mysql 统计以逗号分隔的影片类型_第2张图片

剧情,喜剧,罪案是最热门的三种影片类型

你可能感兴趣的:(mysql)