2016-07-22 4 views
1

このMySQLクエリにはいくつかの助けが必要です。私は過去4ヶ月間の合計レコード数をカウントする必要があるDB日付で登録されたユーザーをカウントする

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  

で、次のフィールドがあります。私はこれをしなかったこれまでのところ、

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

あなたの場所に現在の日付と4か月間の間にmonth_valのようなテストを追加する必要があります。 – user3741598

答えて

2

を動作するはず

CREATED_ON> = DATE_ADD(CURDATE()、INTERVAL - 4 MONTH)

追加し、それは

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

ありがとう!完璧に動作する – user2636556

-4
WHERE CREATED_ON> = '2016年2月15日午前12時47分09秒' AND CREATED_ON < =「テーブルFROM

SELECT COUNT(ID)2016-06- 15 12:47:09 ';

は、あなたのカウンターのために

関連する問題