SELECT
k.*,
y.exchange,
(
SELECT
close AS close_20,
close_adj AS close_adj_20
FROM stocks k
WHERE
t = (
SELECT z.t
FROM usa_stocks_daily_bar z
WHERE
t < k.t
ORDER BY z.t DESC
LIMIT 20
)
AND id = k.id
LIMIT 1
)
FROM stocks k
JOIN symbols y
ON k.id = y.id
WHERE
(
y.exchange = 'NASDAQ CM' OR
y.exchange = 'NASDAQ GM'
)
AND k.t BETWEEN 20150101 AND 20150110
ORDER BY t ASC
收到错误 #1241 - 操作数应包含 1 列
尝试将这两个查询合并在一起,以从 20 天前开始,但无法使此查询正常工作。
随着查询沿表stocks k 运行,获取close_adj 和close 的日期从-20 天前开始发生变化。