Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 唯一访问者查询_Mysql_Sql - Fatal编程技术网

Mysql 唯一访问者查询

Mysql 唯一访问者查询,mysql,sql,Mysql,Sql,我需要找出每天唯一的访客数量,我有如下数据库: 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(u

我需要找出每天唯一的访客数量,我有如下数据库:

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(uID) as unique_clicks 
 FROM currencyclick_user 
 WHERE date BETWEEN '$from' AND '$to' 
 GROUP BY date
现在我需要找到的是每天唯一的访客数量。我发现这一点以及当天的点击总数。因此,查询如下所示:

SELECT date,SUM(clicks) as new_clicks,COUNT(DISTINCT uID) as unique_clicks 
FROM uc_user 
WHERE date <='2013-03-15' GROUP BY date;


但对于相同的范围,它显示不同的值。我的意思是,总和查询显示的总数比我在第一个查询中添加计数得到的值错误。

因为您更新了问题,所以问题最下面的两个查询非常不同,因为在第一个查询中,您按日期对记录进行了分组,而在第二个查询中,您没有。第一个查询将为每天返回不同的记录,而第二个查询将只返回一条记录,因为您没有指定要对哪个列进行分组的查询

如果在不包含GROUPBY子句的语句中使用group函数,则相当于对所有行进行分组


更新1

SELECT  SUM(new_clicks) totalClicks,
        SUM(unique_clicks) totalUnique
FROM
    (
        SELECT  date,
                SUM(clicks) as new_clicks,
                COUNT(uID) as unique_clicks 
        FROM    currencyclick_user 
        WHERE   date BETWEEN '$from' AND '$to' 
        GROUP   BY date
    ) subQ

要查找某个范围内的唯一访问总数,请尝试此查询

SELECT  SUM(clicks) totalClicks,
    count(distinct UID) totalUnique
FROM
(
    SELECT UID,dtm,clicks
    FROM    currencyclick_user 
    WHERE   dtm BETWEEN '2013-03-06' AND '2013-03-07' 
) as allclicks

在两个查询中,您的用户ID计数看起来相同。它应该很好用。您发布的查询是导致问题的实际查询,还是简化的查询?2013-03-06应该是3,2013-03-07应该是4,因为所有ID都是唯一的。如果一个UID重复,则不应添加。也就是说,如果一个664的ID在2013-03-06中有条目,那么在接下来的任何一天里,它不应该考虑到同样的情况。请看这里,(除非您更新记录),您能显示上表的预期输出吗?实际上,我需要的是总和。我的意思是在给定的rage中,唯一访客的总数,我怎么做?好的,请看我的更新答案。你需要把它放在一个子查询中,但我认为在子查询中,它选择了给定时期的访客,因此它可能不会给出整个时期的唯一访客数。我的意思是,如果UID在给定范围之前重复,这将不会检查。是的,内部查询不会检查,但外部查询会为该期间提供唯一的成员。
SELECT  SUM(new_clicks) totalClicks,
        SUM(unique_clicks) totalUnique
FROM
    (
        SELECT  date,
                SUM(clicks) as new_clicks,
                COUNT(uID) as unique_clicks 
        FROM    currencyclick_user 
        WHERE   date BETWEEN '$from' AND '$to' 
        GROUP   BY date
    ) subQ
SELECT  SUM(clicks) totalClicks,
    count(distinct UID) totalUnique
FROM
(
    SELECT UID,dtm,clicks
    FROM    currencyclick_user 
    WHERE   dtm BETWEEN '2013-03-06' AND '2013-03-07' 
) as allclicks