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

本文介绍了如何在MySQL中处理以逗号分隔的影片类型数据,通过创建存储过程`p_insert_classify`将数据拆分并存入新表`meiju_classify`,然后进行统计分析,找出最热门的影片类型。调用存储过程并根据`meiju_classify`表进行分组计数,结果显示剧情、喜剧和罪案是最热门的三种类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原始数据是这样的:

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

建立一个表 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;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值