2017-06-15 25 views
0

不工作我有一個嵌套的MySQL查詢給我從一個單一的表列的平均值(poutput_edat)每6行MySql的嵌套查詢與變量是在PHP

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,它可以直接完美地查詢數據庫。這是與MySQL的限制嗎?

吉米

+0

它返回錯誤消息是什麼? –

+0

沒有錯誤只是一個空結果。 –

回答

0

你可以嘗試在一個單獨的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 
+0

謝謝Darshan現在對我來說非常完美。我猜想我是一個菜鳥的錯誤。 Jimmy –