0

我想输入以下函数来计算 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$$

查询本身应该是正确的。我已经对其进行了测试并返回了所需的结果。有谁知道怎么了?

4

1 回答 1

2

您需要将 SELECT 的结果分配给变量。这是一种方法:

 SELECT SUM(IF(completed='yes',1,0)) INTO icm 
 FROM ri_t_view_course_progress WHERE enrollment_id=v1;
于 2013-02-07T12:55:16.027 回答