php - 单个查询以获取过去 7 天的个人计数

标签 php mysql sql

我确实知道下面的条件会返回过去7天的总数

SELECT count(id) FROM registration 
WHERE createdDate BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()

我可以执行一个查询来获取过去 7 天的每一天的 7 个结果数组吗?

例如:

day 1 - 10
day 2 - 5
day 3 - 9
..
..
..

最佳答案

这将为您提供日期和计数。

SELECT DATE(createdDate),COUNT(id)
FROM registration
WHERE createdDate BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
GROUP BY DATE(createdDate)

或者,为了使结果更接近您的示例,您可以使用:

SELECT CONCAT("Day ",DATEDIFF(NOW(), createdDate)) AS day,COUNT(id)
FROM registration
WHERE createdDate BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()
GROUP BY DATE(createdDate)

关于php - 单个查询以获取过去 7 天的个人计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15940051/

相关文章:

mysql - 如何检查查询是否使用了mysql中的索引

sql - 使用内部联接编写用 SQL 编写的继承查询?

php - 如何向 MySql 数据库中插入值? PHP v5.5,libmysql - mysqlnd 5.0.11-dev

java - 通过 arraylist JAVA 使用主键添加和检索 MySql 数据库数据

php - PHP 'PHP_SELF' 问题

php - 使用xampp服务器在php中发送电子邮件?

java - apache-commons-dbutils 可以将 beans 转换为 SQL 语句吗?

MySql - 从 2 个表中选择 *,但在结果集中添加表名前缀?

php - 一篇关于多个类别的文章

Javascript/PHP 重定向