【发布时间】:2010-06-19 18:06:48
【问题描述】:
我尝试使用存储过程对我的数据进行一些加权。基本上这意味着将某些列与它们各自的权重相乘,最后将它们相加。
我写了以下存储过程:
CREATE PROCEDURE test ()
BEGIN
DECLARE w1 DOUBLE;
DECLARE w2 DOUBLE;
DECLARE res1 DOUBLE;
DECLARE res2 DOUBLE;
DECLARE finres DOUBLE;
SELECT weight1 INTO w1 FROM weights;
SELECT weight2 INTO w2 FROM weights;
SELECT w1 * var1 INTO res1 FROM vartable;
SELECT w2 * var2 INTO res1 FROM vartable;
SELECT res1+res2 INTO finres;
SELECT MEAN(finres);
END
//
不幸的是,它还没有成功。最后它应该返回一个值,但所有这些只有在我将所有变量都放入 SELECT 查询时才有效。
【问题讨论】: