我们有一个后端表,用于存储交易的详细信息,包括自纪元以来的秒数。我正在创建一个用户界面,我从中收集日期以显示日期之间发生的交易计数。
假设日期范围是2012年1月7日 - 2012年7月30日,我无法建立一个逻辑,该计数将为该时间段内发生的记录增加计数器。我应该只打一次DB,因为每天的打击都会导致性能不佳。
我陷入了逻辑:
Convert 07/01/2012 & 07/30/2012 to seconds since epoch.
Get the records for start date - end date [as converted to seconds since epoch]
For each record get the month / date
-- now how will we add counters for each date in between 07/01/2012 - 07/30/2012
答案 0 :(得分:1)
MySQL具有函数FROM_UNIXTIME
,它会将你从纪元以来的秒数转换为日期时间,然后你可以提取它的DATE
部分(YYYY-MM-DD
格式)并根据它进行分组。 / p>
SELECT DATE(FROM_UNIXTIME(timestamp_column)), COUNT(*)
FROM table_name
GROUP BY DATE(FROM_UNIXTIME(timestamp_column))
这将返回类似
的内容2012-07-01 2
2012-07-03 4
…
(没有交易日的条目)