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;

10-04 12:38