我正在計算用戶帳戶的唯一IP訪問。我正在檢查總訪問VS分組後的用戶帳戶訪問MySQL對羣組的錯誤結果
得到不同的結果我的表結構是喜歡這樣
$date1 = strtotime("yesterday midnight");
$date2 = strtotime("today midnight");
SELECT `userid`, COUNT(DISTINCT `userip`) AS `total` FROM `stats`
WHERE (`date` >= $date1 AND `date` < $date2) AND `status`=1
這本
id userid userip status date
1 xxxx 11111 1 unix timestamp
2 yyyy 11122 1 unix timestamp
3 zzzz 11133 1 unix timestamp
4 cccc 11144 1 unix timestamp
我做的查詢給出的結果爲5644
但是,當我通過userid
組結果不同
$date1 = strtotime("yesterday midnight");
$date2 = strtotime("today midnight");
SELECT `userid`, COUNT(DISTINCT `userip`) AS `total` FROM `stats`
WHERE (`date` >= $date1 AND `date` < $date2) AND `status`=1 GROUP BY `userid`
while($row=mysqli_fetch_assoc($result)){
$total=$total+$row['total'];
}
這讓結果作爲6312
請參閱爲什麼沒有對組不同的結果通過
感謝
編輯
結果是正確的,如果我不指望DISTINCT
請添加你所期望的輸出在你的問題 –
你做過主要查詢嗎? –
@knowledge .... no joins –