2012-05-04 6 views
1

今週を含む過去4週間の結果を取得したいと思います。 私はユニークビジター数を取得したい:私はこのクエリを記述する際に、今その4 ...が、私は先月4月の統計に満ちているのstatテーブルを持っているとしましょうSQLクエリーを使用して今週を含む過去4週間を取得するには

SELECT COUNT(distinct ip) AS uni, (
date_added 
) AS wday, FROM_UNIXTIME(date_added) AS cusotms 
FROM `site_stats` 
WHERE FROM_UNIXTIME(date_added) >= DATE_SUB(SYSDATE() , INTERVAL 4 WEEK) 
GROUP BY WEEK(FROM_UNIXTIME(date_added)) 

それは次のような結果を見つけました:

uni  wday  cusotms 
2 1333819740 2012-04-07 22:29:00 
6 1333906140 2012-04-08 22:29:00 
7 1334510940 2012-04-15 22:29:00 
7 1335115740 2012-04-22 22:29:00 
5 1336089600 2012-05-04 05:00:00 

しかし、今週を含めて最後の4週間が必要です。私は4月、4月22日、4月15日、4月8日、7月4日の記録をなぜ表示しているのか分かりません。私は以下のようなものを考えていた

これは過去4週間の正しい結果ですか?私はそれが4のようなものかもしれない、

4 may 
4-7 = 28 april 
4-14days = 21 april 
and then 14 april 
and last 7 april 
?? 

私は先週の統計情報を表示するためのグラフで、この出力を配置する必要がありますする必要があります考えていた...すべてのヘルプは本当にいただければ幸いです。

ありがとうございます!あなたは週に取得したいよう

+0

私はドン」問題を理解する。今週を含む最後の4週間は、あなたが望む結果を得ることができます。 –

+0

あなたは正しい結果を意味しますか?しかし、私は7と8の4月の結果が一緒に来る理由を混乱させていますか?また、私は週の名前も欲しい。例えば、毎週の開始日の名前など。 i-e:50ユニーク:28 4月、40ユニーク:21 April、20ユニーク:14April ?? – 99Points

答えて

0

は、ソリューションです:

SELECT COUNT(DISTINCT ip) AS uni, ( 
    date_added 
    ) AS wday, FROM_UNIXTIME(date_added) AS cusotms 
    FROM `site_stats` 
    WHERE FROM_UNIXTIME(date_added) >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) -3WEEK 
    GROUP BY WEEK(FROM_UNIXTIME(date_added)) 
    LIMIT 0 , 30 

はそれが役に立てば幸い:)

+0

ありがとうウェズリー、それは私が探していたものです。おかげで:) – 99Points

+0

それはあなたでした:) – Wesley

0

あなたが正確な日付を取得し、それはそうです:ここで

SELECT COUNT(distinct ip) AS uni, (
date_added 
) AS wday, WEEK(FROM_UNIXTIME(date_added)) AS cusotms 
+0

こんにちはKaroly、返事ありがとう、実際には、日付はタイムスタンプ形式でDBに格納されているため、実際には最後のフィールドを追加しました。ショアでは、私はちょうど過去4週間の私の統計表から一意の訪問(IP)を取得したい。また、先週の不完全な週を追加することが可能かどうかは分かりません。今週と最後の4週間のような? – 99Points

+0

不完全な先週は問題ではありませんが、最初の1週間は完全なデータを取得するために作業する必要があります。 –

+0

はい、私はここで助けが必要です。なぜなら、私は最後の2日間からそれに乗っていて、並べ替えることができなかったので、私は最後に7 +今日、そして他の状況で働いています。 – 99Points

関連する問題