我想输入以下函数来计算 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$$
查询本身应该是正确的。我已经对其进行了测试并返回了所需的结果。有人知道出了什么问题吗?
最佳答案
您需要将 SELECT 的结果分配给变量。这是一种方法:
SELECT SUM(IF(completed='yes',1,0)) INTO icm
FROM ri_t_view_course_progress WHERE enrollment_id=v1;
关于mysql - 使用 phpmyadmin 创建 mysql 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14751483/