2016-07-22 93 views
1

我需要一些幫助,這個MySQL查詢。我在數據庫中有以下字段按日期統計註冊用戶

id  created_on    
1  2016-02-15 12:47:09  
2  2016-02-24 12:47:09  
3  2016-02-29 12:47:09  
4  2016-03-11 12:47:09  
5  2016-03-15 12:47:09  
6  2016-03-22 12:47:09  
7  2016-04-10 12:47:09  
8  2016-04-11 12:47:09  

我需要計算過去4個月的總記錄。我這樣做,到目前爲止,

SELECT YEAR(created_on) as year_val, MONTH(created_on) as month_val ,COUNT(*) as total 
FROM `user` 
GROUP BY YEAR(created_on), MONTH(created_on) 

感謝

+0

這豈不返回你期望什麼?如果不是,它會返回什麼呢?是否有錯誤或其他問題? –

+0

@ Don'tPanic它返回一切(年和月)而不是過去4個月 – user2636556

+0

在你的WHERE你必須添加一個測試,如當前日期和4個月的INTERVAL之間的month_val。 – user3741598

回答

2

添加

WHERE created_on> = DATE_ADD(CURDATE(),間隔 - 4月)

它將返回

"year_val" "month_val" "total" 
"2016"  "3"   "1" 
"2016"  "4"   "2" 
"2016"  "5"   "1" 
+0

謝謝!完美的作品 – user2636556

-4

SELECT COUNT(ID)FROM表WHERE created_on> = '2016年2月15日12時47分09秒' 和created_on < =「2016-06- 15 12:47:09';

應該爲你的櫃檯工作