嵌套子句中 select 先于 order by 执行, 即先根据原始数据计算出结果,再对结果按 code, dates 排序。MACD 中包含序列相关函数,因此全局计算和只查询某个股票计算的结果是不同的。建议先对 M_1 表按 code, dates 排序后,再计算 MACD。
one=select code,dates, iif(deltas(J)>0,1,0) as J_up from (select * ,MACD(close, 5, 34, 5) as `DIF`DEA`MACD`J from M_1 where code="000001" order by code,dates)
all = select code,dates, iif(deltas(J)>0,1,0) as J_up from (select * ,MACD(close, 5, 34, 5) as `DIF`DEA`MACD`J from M_1 order by code,dates)
用同样的 M_1 一分钟数据源,但用全部数据计算和用某个股票计算出现了不同结果, 这是为什么?
嵌套子句中 select 先于 order by 执行, 即先根据原始数据计算出结果,再对结果按 code, dates 排序。MACD 中包含序列相关函数,因此全局计算和只查询某个股票计算的结果是不同的。建议先对 M_1 表按 code, dates 排序后,再计算 MACD。