select sum(t.course1 + t.coures2 + t.coures3) as staff_nums
from (
    select 
    info_id, staff_id, course,
    sum(if(substring_index(course, ',', 3) regexp '1', 1, 0)) as course1,
    sum(if(substring_index(course, ',', 3) regexp '2', 1, 0)) as coures2,
    sum(if(substring_index(course, ',', 3) regexp '3', 1, 0)) as coures3    
from cultivate_tb
GROUP BY info_id
) as t 
不加group by 会报错,不明白
多列求和,用+连接列名,实现总体求和
先分离课程,创建新的列,类似于签到表,然后总体求和