Mysql 按日期分组时间戳字段

Mysql 按日期分组时间戳字段,mysql,sql,Mysql,Sql,我正在尝试编写一个SQL查询,以返回在过去7天内有多少链接提交到我的网站。到目前为止,我有: SELECT COUNT(`id`) AS `count` FROM `links` WHERE `created` > NOW() - 86400 AND `created` < NOW() NOW()实际上不应该工作,因为它返回一个datetime。另外,如果要获取7天的数据,则需要从UNIX\u TIMESTAMP()中减去604800。然后,您可以将日期和时间功能与FROM_UNI

我正在尝试编写一个SQL查询,以返回在过去7天内有多少链接提交到我的网站。到目前为止,我有:

SELECT COUNT(`id`) AS `count`
FROM `links`
WHERE `created` > NOW() - 86400
AND `created` < NOW()
NOW()
实际上不应该工作,因为它返回一个
datetime
。另外,如果要获取7天的数据,则需要从
UNIX\u TIMESTAMP()
中减去
604800
。然后,您可以将
日期
时间
功能与
FROM_UNIXTIME
一起使用。这将使分组更容易。最佳情况下,您的列应为
datetime
类型

它会是这样的:

SELECT DAY(FROM_UNIXTIME(created)) day, COUNT(id) count
FROM links
WHERE created > UNIX_TIMESTAMP() - 604800 AND created < UNIX_TIMESTAMP()
GROUP BY DAY(FROM_UNIXTIME(created))

SELECT DAY(FROM_UNIXTIME(created)) day, COUNT(id) count
FROM links
WHERE created > UNIX_TIMESTAMP() - 604800 AND created < UNIX_TIMESTAMP()
GROUP BY DAY(FROM_UNIXTIME(created))
WHERE created BETWEEN UNIX_TIMESTAMP() - 604800 AND UNIX_TIMESTAMP()