我有一个这样的SQL表:sales(product,timestamp)
我想使用Open Flash Chart显示图表,但我不知道如何获得过去12小时内每小时的总销售额。 (时间戳列是销售日期)
通过示例,我将得到一个这样的数组:array(12,5,8,6,10,35,7,23,4,5,2,16)
每个数字是每小时的总销售额。
注意:我想使用php或仅使用mysql。
由于
答案 0 :(得分:5)
SELECT HOUR(timestamp),COUNT(*)
FROM sales
WHERE timestamp >= DATE_SUB(NOW(),INTERVAL 12 HOUR)
GROUP BY HOUR(timestamp)
答案 1 :(得分:4)
SQL是
SELECT HOUR(timestamp), COUNT(product)
FROM sales
ORDER BY HOUR(timestamp)
循环结果以使其进入数组。
编辑:应用请求的unix时间戳的条件
SELECT HOUR(timestamp), COUNT(product)
FROM sales
WHERE timestamp >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL 12 HOUR))
ORDER BY HOUR(timestamp)
答案 2 :(得分:0)
一些伪代码:
foreach timestamp
use date('G',timestamp) to get hour
increment array value using the hour as key
这些方面的东西。注意时区。