如何计算mysql中每7天的记录总数
How to count total number of record for each 7 days in mysql
我试图从数据库中获取数据,从今天开始计算总数,并自动减少 1 天并计数 7 次。它将显示为
Monday = 5
Tuesday = 2
Wednesday = 6
Thursday = 4
Friday = 7
Saturday = 1
Sunday = 5
问题出在我使用下面的查询时
SELECT count(*), ad_date
FROM advertise
WHERE ad_date >=ad_date(day,datediff(day,0,GetDate())- 7,0)
显示错误:
Incorrect parameter count in the call to native function 'datediff'
那么这个问题或针对我的问题的任何替代查询有什么问题?
我的日期格式 table 使用的是时间戳。
2016-03-23 14:27:28
2016-03-25 18:27:28
2016-03-26 18:27:28`
datediff 只有两个参数
DATEDIFF(date1,date2)
- 您想从哪里开始的开始日期
- 结束日期
替换:
datediff(day,0,GetDate())- 7,0)
与:
DATE(DATE_SUB(NOW(),INTERVAL 7 DAY),GetDate())
更新后的答案(试试这个):
SELECT COUNT(1)
FROM table_name
WHERE created_date > (NOW() - INTERVAL 7 DAY)
Group by created_date
我试图从数据库中获取数据,从今天开始计算总数,并自动减少 1 天并计数 7 次。它将显示为
Monday = 5
Tuesday = 2
Wednesday = 6
Thursday = 4
Friday = 7
Saturday = 1
Sunday = 5
问题出在我使用下面的查询时
SELECT count(*), ad_date
FROM advertise
WHERE ad_date >=ad_date(day,datediff(day,0,GetDate())- 7,0)
显示错误:
Incorrect parameter count in the call to native function 'datediff'
那么这个问题或针对我的问题的任何替代查询有什么问题?
我的日期格式 table 使用的是时间戳。
2016-03-23 14:27:28
2016-03-25 18:27:28
2016-03-26 18:27:28`
datediff 只有两个参数
DATEDIFF(date1,date2)
- 您想从哪里开始的开始日期
- 结束日期
替换:
datediff(day,0,GetDate())- 7,0)
与:
DATE(DATE_SUB(NOW(),INTERVAL 7 DAY),GetDate())
更新后的答案(试试这个):
SELECT COUNT(1)
FROM table_name
WHERE created_date > (NOW() - INTERVAL 7 DAY)
Group by created_date