毎月のユニーク ユーザーを計算するために、ユニーク ユーザー ID のカウントの合計を計算する必要があり、これは毎日行う必要があります。つまり、今日の場合は今日から 30 日前の合計を表示する必要があり、昨日の場合は昨日の 30 日前から合計を計算する必要があります。
たとえば、今日は 27-04-2013 からカウントを開始し、昨日は 26-04-2013 からカウントを開始する必要があります。テーブル構造は次のようになります。
date uid visits
27-04-2013 11 45
27-04-2013 11 45
26-04-2013 11 45
25-04-2013 11 45
24-04-2013 11 45
これは現在の合計のようなものですが、30 日間のみです。
私はDATE_ADD(date,INTERVAL -30 day)
このように使用しました
SELECT DISTINCT date,COUNT(uid) FROM tablename
WHERE DATE_ADD(date,INTERVAL -30 day) AND date GROUP BY date
しかし、このために、このクエリと比較して異なる結果が得られます。
SELECT COUNT( `uID` )
FROM tablename
WHERE date
BETWEEN '2013-04-27'
AND '2013-05-27'
これは COUNT 専用です。カウントの合計を計算する必要があります。