0

訪問者を保存するmysqlデータベースがあります。

id        ip             date
--     -----------    ------------------   
1      192.168.0.1    2013-02-08 12:12:04
2      192.168.0.1    2013-02-08 14:30:00
3      192.168.0.1    2013-02-09 16:43:46
4      192.168.0.1    2013-02-10 08:35:02

これは私が使用しているものの簡略化されたバージョンですが、概念は同じです。訪問者数を取得し、時間間隔ごとにグラフに表示できるようにしたい。次の配列設計を使用してグラフにデータを入力します。ここで、0、1、2、3 は x 軸で、24、74、26、51 は y 軸です。

 [[0, 24], [1, 74], [2, 26], [3, 52]]

たとえば、このようなスタックの質問からのクエリを使用しようとしましたが、Group by などで動作させることができません。どんな助けでも大歓迎です。

 $query = "SELECT COUNT(id) FROM  `unique_visitors_user` WHERE DATE(date) BETWEEN '2013-02-08' AND '2013-02-10' ";
4

2 に答える 2

1

これを試してください:

SELECT 
    DATE_FORMAT(date, '%Y-%m-%d') Date1, COUNT(*) AS Visitors
FROM
    unique_visitors_user
WHERE
    date BETWEEN STR_TO_DATE('%Y-%m-%d', '2013-02-08') AND STR_TO_DATE('%Y-%m-%d', '2013-02-10')
GROUP BY Date1;
于 2013-02-10T21:10:41.203 に答える
1

これは、すべての訪問を日ごとにカウントする必要があります

SELECT COUNT(id)
FROM `unique_visitors_user`
WHERE date >= "2013-01-01" 
AND date < DATE_ADD("2013-01-01", INTERVAL 1 DAY)
GROUP BY DAY(date)
于 2013-02-10T21:37:30.440 に答える