フィールドを持つスキーマを持つmysqlデータベースがあります
ユーザー名、タイムスタンプ
ここで、timestamp は最後のアクティビティの日付です。
特定のユーザーのレコード数を月別に表示するクエリを mysql で作成したいと考えています。
ありがとう。
Select count(*) as counta, DATE_FORMAT(timestamp, "%Y-%m") as "_month"
from users
where username='YOUR_USER_NAME'
group by _month
order by _month
UNIX タイムスタンプの場合、FROM_UNIXTIME を使用します
SELECT count(*) as counta, DATE_FORMAT(FROM_UNIXTIME(timestamp), "%Y-%m") as "_month"
from users
where username='YOUR_USER_NAME'
group by _month
order by _month
質問は月あたりのユーザー数として投稿されていますが、特定のユーザーからの月あたりのレコード数を意味していると思います。必要なクエリは次のとおりです。
Select CAST(CONCAT(YEAR(`timestamp`),'-',MONTH(`timestamp)) AS CHAR) as `month`, COUNT(*) as `hits` FROM db.table WHERE `username`='<the_username>' GROUP BY `month`;