1

フィールドを持つスキーマを持つmysqlデータベースがあります

ユーザー名、タイムスタンプ

ここで、timestamp は最後のアクティビティの日付です。

特定のユーザーのレコード数を月別に表示するクエリを mysql で作成したいと考えています。

ありがとう。

4

2 に答える 2

1
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
于 2012-07-17T01:02:14.830 に答える
-1

質問は月あたりのユーザー数として投稿されていますが、特定のユーザーからの月あたりのレコード数を意味していると思います。必要なクエリは次のとおりです。

Select CAST(CONCAT(YEAR(`timestamp`),'-',MONTH(`timestamp)) AS CHAR) as `month`, COUNT(*) as `hits` FROM db.table WHERE `username`='<the_username>'  GROUP BY `month`;
于 2012-07-17T01:01:36.230 に答える