【发布时间】:2018-06-14 18:09:56
【问题描述】:
我想根据SampleData Table & Output 生成表格输出。我的 SQL 查询如下,但它没有给我最后三列的正确结果
SELECT
UserLogin,
COUNT(DISTINCT consumerID) AS TotalUniqueconsumerIDs,
COUNT(DISTINCT (CASE
WHEN ActivitiesCompleted > 0 AND QuizCompleted <= 0 THEN consumerID END)) AS YesActivityNoQuiz,
COUNT(DISTINCT (CASE
WHEN ActivitiesCompleted <= 0 AND QuizCompleted > 0 THEN consumerID END)) AS NoActivityYesQuiz,
COUNT(DISTINCT (CASE
WHEN ActivitiesCompleted >= 1 AND QuizCompleted >= 1 THEN consumerID END)) AS YesActivityYesQuiz
FROM
TableName
GROUP BY
UserLogin
非常感谢任何帮助。
更多信息:
也许我上面不清楚,所以在这里提供更多信息:
我创建了另一个示例表,其中只有 1 个 UserLogin 的数据,看起来像 this,如果我在 Excel 中从外部旋转这个示例数据集,我会看到 this
如您所见,此表中的 consumerID 的透视屏幕截图都有超过 1 个 ActivitiesCompleted 和 1 QuizCompleted。
基于我上面查询的 SQL 输出看起来像 this
但是,根据 Pivot 屏幕截图,我预计 YesActivityYesQuiz 列中的值为 1,YesActivityNoQuiz 和 NoActivityYesQuiz 中的值为 0
样本数据:
Date,UserLogin,consumerID,ActivitiesCompleted,QuizCompleted
6/8/2018,aasufhar,consumerA,0,1
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,2,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,1,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerA,0,0
6/8/2018,aasufhar,consumerB,0,1
6/8/2018,aasufhar,consumerB,0,0
6/8/2018,aasufhar,consumerB,2,0
6/8/2018,aasufhar,consumerB,1,0
6/8/2018,aasufhar,consumerB,1,0
6/8/2018,aasufhar,consumerB,1,0
6/8/2018,aasufhar,consumerB,0,0
6/8/2018,aasufhar,consumerB,0,0
6/8/2018,aasufhar,consumerB,0,0
6/8/2018,aasufhar,consumerB,0,0
6/8/2018,aasufhar,consumerB,0,0
【问题讨论】:
-
您能否发布您当前的输出,以便我们比较您得到的和需要的。
-
我认为您的查询是正确的!是什么让你认为它返回错误的结果?它看起来对我来说是正确的。
-
@MikhailBerlyant 我编辑了我的问题并提供了更多信息
-
图像确实隐藏了您的真实数据,因此很难判断这里出了什么问题。正如我根据您解释的逻辑所说的那样-您的查询看起来是正确的。我建议您以纯文本格式提供数据示例,以便我们为您提供进一步帮助。
-
@MikhailBerlyant 我用示例数据更新了问题
标签: sql google-bigquery ansi-sql bigquery-standard-sql