我有一个如下所示的mysql数据库:
id | userid | timestamp | activity
时间戳是一种日期时间数据类型,我需要按月,日和小时分组数据。我正在使用mysql和php作为我的脚本。
我可以通过以下查询按月和日进行操作:
$query = "SELECT COUNT(id) as totals FROM security_transactions WHERE YEAR(timestamp) = 2012 GROUP BY MONTH(timestamp), DAY(timestamp)";
我需要按月和按小时这样做。
请帮忙。
感谢。
答案 0 :(得分:1)
如果您的专栏具有DATETIME格式,则可以通过查询将, HOUR(TIME(timestamp))
添加到您的论坛
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_hour
另外,根据下面评论中的错误消息,看起来@Aprentice没有使用mysql,但我已经为其他寻找mysql的人改进了这个答案。
我从未使用过mssql,所以我无法对此进行测试,但以下内容可能会按最近的小时进行分组:
GROUP BY dateadd(hour, datediff(hour, 0, timestamp, 0)
答案 1 :(得分:0)
进一步使用HOUR()。您首先需要提取时间戳的时间部分。但是猜猜看,还有一个功能;)