1

今週を含む過去 4 週間の結果を取得したい。先月の 4 月の統計でいっぱいの統計テーブルがあるとしましょう。現在は 5 月 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週間が必要です。5 月 4 日、4 月 22 日、4 月 15 日、4 月 8 日と 7 日の記録が表示される理由がわかりません。以下のようなことを考えていました

これは過去 4 週間のグループごとの正しい結果ですか? 5月4日のようなものだと思っていたのですが、

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

先週の統計を表示するために、この出力をグラフに入れる必要があります...どんな助けも本当にありがたいです。

前もって感謝します !

4

2 に答える 2

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

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

于 2012-05-04T16:11:49.480 に答える
0

正確な日付を取得すると、週を取得したいようです:

SELECT COUNT(distinct ip ) AS uni, (
date_added
) AS wday, WEEK( FROM_UNIXTIME( date_added ) ) AS cusotms
于 2012-05-04T12:29:13.823 に答える