毎日のユニークな訪問者数を調べる必要があり、次のようなデータベースがあります。
UID clicks date
6046 9 2013-03-06
6449 7 2013-03-06
6450 41 2013-03-06
664 2 2013-03-07
2432 36 2013-03-07
3246 11 2013-03-07
6031 52 2013-03-07
今私が見つける必要があるのは、毎日のユニークな訪問者数です。その日のクリック数の合計とともにこれを見つけています。したがって、クエリは次のようになります。
SELECT date,SUM(clicks) as new_clicks,COUNT(DISTINCT uID) as unique_clicks
FROM uc_user
WHERE date <='2013-03-15' GROUP BY date;
しかし、ここで私は間違った結果を得ています。カウントは、同じ間隔で計算したカウントとは異なります
SELECT date, COUNT(DISTINCT uID ) AS unique_clicks
FROM uc_user
WHERE date <= '2013-03-15'
GROUP BY date
LIMIT 0 , 30
これらのクエリと、ユニーク ユーザー数を表示するのに正しいクエリの違いは何ですか?
実際、PHPでの私の実際のクエリは次のようなものです:
SELECT date,SUM(clicks) as new_clicks,COUNT(uID) as unique_clicks
FROM currencyclick_user
WHERE date BETWEEN '$from' AND '$to'
GROUP BY date
と
SELECT SUM(clicks) as total_new_clicks,
COUNT(DISTINCT uID) as total_new_uniqueclicks
FROM currencyclick_user
WHERE date BETWEEN '$from' AND '$to'
しかし、同じ範囲でも異なる値を示しています。合計クエリが、最初のクエリでカウントを追加して得た値よりも間違った合計を表示していることを意味します。