【发布时间】:2014-02-17 21:55:31
【问题描述】:
我想退回产品及其最新价值和上一小时的价值。
我有一个产品表:
id, name, type (and so on)...
我有一个值表:
id_prod, timestamp, value
类似:
12:00:00 = 10
12:15:00 = 10
12:30:00 = 10
12:45:00 = 10
13:00:00 = 10
13:15:00 = 10
13:30:00 = 10
我想要一个返回最新值 (13:30:00) 以及一小时前的值总和的查询。这应该返回:
time = 13:30:00
latestread = 10
lasthour = 40
我几乎开始工作的是:
SELECT *,
(SELECT value FROM values S WHERE id_prod=P.id
ORDER BY timestamp DESC LIMIT 1) as latestread,
(SELECT sum(value) FROM values WHERE id_prod=D.id and
date_created>SUBTIME(S.date_created,'01:00:00')) as trendread
FROM prod P ORDER BY name
但这失败了“'where子句'中的未知列'S.date_created'”
有什么建议吗?
【问题讨论】: