2016-11-18 47 views
1

我试图构建查询以从第一天到第二天获取用户保留时间。所以我的想法是在第一天计数fullVisitorId,然后加入第二天(第二天),并从第二天的第一天算起fullVisitorId。 纠正我是我的逻辑错误或不清楚。我试着用下面的查询翻译这个,但是我有以下错误:尝试构建队列分析时出现“模糊的字段引用日期”错误

Ambiguous field reference date.

这里是我的查询:

SELECT 
     count(Table1.fullVisitorId), 
     date 
    FROM 
     [storied-toolbox-121439:103262044.ga_sessions_20161108] as dayone 
    JOIN 
     [storied-toolbox-121439:103262044.ga_sessions_20161109] as daytwo 
    on 
    dayone.fullVisitorId = daytwo.fullVisitorId 
    group by 
    date 

的感谢!

回答

1

下面的地址显示了您对歧义字段的错误,但没有说明您描述的需要实现的用户保留的目标。
我的理解这个问题,更多的是修复错误,然后你会尝试走得更远在任务

SELECT 
    COUNT(dayone.fullVisitorId) as cnt, 
    dayone.date as date 
FROM [storied-toolbox-121439:103262044.ga_sessions_20161108] as dayone 
JOIN [storied-toolbox-121439:103262044.ga_sessions_20161109] as daytwo 
ON dayone.fullVisitorId = daytwo.fullVisitorId 
GROUP BY 2 
+0

为什么你使用'通过2'组是什么意思? –

+0

'group by 2'等价于上述查询中的'by group by date'。您可以在GROUP BY中使用字段的位置而不是字段名称,并且可以使用ORDER BY –

+0

哼哼ok谢谢。我说过,这是行得通的,但结果并不是我所期待的。我会继续挖掘。顺便下载你的Chrome扩展。猜这是有点超过我的用途,但看起来很有趣:) –