【发布时间】:2014-09-16 20:59:31
【问题描述】:
我有一个这样的 SQL 表:sales(product,timestamp)
我想使用 Open Flash Chart 显示图表,但我不知道如何获得过去 12 小时内每小时的总销售额。 (时间戳列是销售日期)
例如,我最终会得到一个这样的数组:array(12,5,8,6,10,35,7,23,4,5,2,16) 每个数字都是每小时的总销售额。
注意:我想使用 php 或只使用 mysql。
谢谢
【问题讨论】:
我有一个这样的 SQL 表:sales(product,timestamp)
我想使用 Open Flash Chart 显示图表,但我不知道如何获得过去 12 小时内每小时的总销售额。 (时间戳列是销售日期)
例如,我最终会得到一个这样的数组:array(12,5,8,6,10,35,7,23,4,5,2,16) 每个数字都是每小时的总销售额。
注意:我想使用 php 或只使用 mysql。
谢谢
【问题讨论】:
SELECT HOUR(timestamp),COUNT(*)
FROM sales
WHERE timestamp >= DATE_SUB(NOW(),INTERVAL 12 HOUR)
GROUP BY HOUR(timestamp)
【讨论】:
SQL 是
SELECT HOUR(timestamp), COUNT(product)
FROM sales
ORDER BY HOUR(timestamp)
遍历结果以将其放入数组中。
编辑:为 unix 时间戳应用请求的 where 条件
SELECT HOUR(timestamp), COUNT(product)
FROM sales
WHERE timestamp >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL 12 HOUR))
ORDER BY HOUR(timestamp)
【讨论】:
一些伪代码:
foreach timestamp
use date('G',timestamp) to get hour
increment array value using the hour as key
类似的东西。注意时区。
【讨论】: