mysql - #1111 - 存储过程 mysql 中组函数错误的无效使用

标签 mysql stored-procedures

DELIMITER // 
CREATE PROCEDURE GetAllData() 
BEGIN 
DECLARE execPrice DOUBLE;
    SET execPrice = sum(LastQty * LastPx) / sum(LastQty);
select 
    execPrice as avgExedPrc,
    sum((LastQty * LimitPrice)) / sum(LastQty) as avgOrdPrc,

无法使用变量 execPrice。 有人可以帮忙吗?

最佳答案

sum() 仅在查询中使用,因为它对 1 行或多行求和。

这里你甚至没有任何东西可以总结:

SET execPrice = sum(LastQty * LastPx) / sum(LastQty);

更改为

SET execPrice = LastQty * LastPx / LastQty;

关于mysql - #1111 - 存储过程 mysql 中组函数错误的无效使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24951848/

相关文章:

php - 即使代码正确,也无法选择数据库表

mysql - Spring boot - h2和mysql的配置文件

sql-server - 从 Node js调用存储过程

mysql - 如何从 ASP.NET Core 3.1 MySql.Data.EntityFrameworkCore 调用 MySQL 存储过程

mysql - 检查 MySQL 数据库中是否存在值数组

python - 如何将字符串变量插入到这个长Python SQL字符串中?

mysql - 在触发器导致 View 中使用的表插入后,如何更新 MYSQL View

mysql - mysql 中的 ST_Distance_Sphere 没有给出两个位置之间的准确距离

sql - 选择 SQL Server 及以下的所有层次结构级别

php - CakePHP 与存储过程