我有一个嵌套的 mysql 查询,可以为我提供每 6 行单个表列 (poutput_edat) 的平均值
set @rownum := 0;
set @sum := 0;
SELECT the_avg FROM (
select poutput_edat, @rownum := (@rownum + 1) as rownum,
@sum := IF(@rownum mod 6 = 1,0 + poutput_edat,@sum + poutput_edat)
as running_sum, IF(@rownum mod 6 = 0,@sum / 6,NULL) as the_avg
from raw_edat /*WHERE date_edat = CURDATE()*/ ORDER BY invTime_edat desc)
as average
我在使用 php mysqli 进行此查询时遇到问题,它可以完美地直接查询数据库。这是 php mysql 的限制吗?
吉米
最佳答案
您可以尝试在单独的 FROM
子句中声明变量吗,例如:
SELECT the_avg FROM (
select poutput_edat, @rownum := (@rownum + 1) as rownum,
@sum := IF(@rownum mod 6 = 1,0 + poutput_edat,@sum + poutput_edat)
as running_sum, IF(@rownum mod 6 = 0,@sum / 6,NULL) as the_avg
FROM raw_edat /*WHERE date_edat = CURDATE()*/, (SELECT @rownum := 0, @sum := 0) a
ORDER BY invTime_edat desc)
as average
关于php - MySql 嵌套选择变量在 PHP 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44565955/