次の関数を入力して、phpmyadminのmysqlテーブルから完了したタスクの数をカウントしたいのですが、常に説明のないエラーが返されます。
DELIMITER $$
CREATE FUNCTION `num_completed`(v1 INT)
RETURNS INT
BEGIN
DECLARE icm INT;
SELECT SUM(IF(completed='yes',1,0)) AS completed INTO icm FROM ri_t_course_progress WHERE enrollment_id=v1;
RETURN icm;
END$$
クエリ自体は正しいはずです。私はそれをテストし、望ましい結果を返しました。誰かが何が悪いのか知っていますか?