Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 每天的SQL计数_Mysql_Sql_Count - Fatal编程技术网

Mysql 每天的SQL计数

Mysql 每天的SQL计数,mysql,sql,count,Mysql,Sql,Count,过去15天的每一天是否可以像我一天的记录一样,一次性记录(*): SELECT count(*) as total from users where `user_date_accountcreated` BETWEEN '2016-10-03 00:00:00' AND '2016-10-03 23:59:59' 避免每天发出一个SQL请求 谢谢。一个简单的方法是按日期分组: SELECT date_format(`user_date_accountcreated`, "%y%m%d"), c

过去15天的每一天是否可以像我一天的记录一样,一次性记录(*):

SELECT count(*) as total from users where `user_date_accountcreated` BETWEEN '2016-10-03 00:00:00' AND '2016-10-03 23:59:59'
避免每天发出一个SQL请求


谢谢。

一个简单的方法是按日期分组:

SELECT date_format(`user_date_accountcreated`, "%y%m%d"), count(*) as total from users 
where `user_date_accountcreated` BETWEEN '2016-09-18 00:00:00' AND '2016-10-03 23:59:59'
GROUP BY date_format(`user_date_accountcreated`, "%y%m%d")

只需使用mysql的日期函数:

SELECT ...
WHERE u_d_a_c BETWEEN (now() - INTERVAL 15 DAY) AND now()
GROUP BY year(u_d_a_c), month(u_d_a_c), day(u_d_a_c)
试试这个:

SELECT DATE_FORMAT(user_date_accountcreated, '%Y-%m-%d'), count(*) AS total

    FROM users 

  WHERE

    DATEDIFF(CURDATE(), user_date_accountcreated) BETWEEN 1 AND 15

      GROUP BY DATE_FORMAT(user_date_accountcreated, '%Y-%m-%d')

你为什么不做“按日期分组(u_d_a_c)”?我测试了
选择COUNT(*)作为总计,其中user_date_account创建于(now()-间隔15天)和now()之间,按年份分组(user_date_accountcreated)、按月分组(user_date_accountcreated)、按日分组(user_date_accountcreated)
,我有一个错误,#1064-你的SQL语法有一个错误;在Where Yes附近,感谢@MarcB和我添加了
选择日期格式(“user\u date\u accountcreated”,%Y-%m-%d”)
作为@Chrisif user\u date\u accountcreated建议的日期,如果user\u date\u accountcreated是一个日期/日期时间字段,那么不要这样格式化它。它已经是那种格式了。如果是datetime,并且您想去掉时间组件,那么一个简单的
日期(u\u d\u a\u c)
就可以为您做到这一点,而无需强制运行完整的插入类型转换/格式设置。是的,谢谢,这是一个添加日期的好主意,同时在选择中添加日期格式()。