mysql - 使用 phpmyadmin 创建 mysql 函数

标签 mysql

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

相关文章:

php - 如何摆脱多个 while 循环并更好地显示结果

mysql - MySQL 和 MariaDB 中 JSON_SEARCH 的区别

MySQL 解释显示主表的索引未在生产服务器上使用

mysql - 如何获取表之间的关系并区分一对一和一对多?

java - 如何比较java和mysql的日期

PHP循环替换字符串 "one-by-one"中的字符

java - 简单服务器/客户端Java教程

mysql - SQL 连接困惑

mysql - 制作 mysqldump、gzip 并发送到 S3

mysql - 将mysql表的行变成列