我需要找到表中重复日志的百分比。因此,我使用“具有”进行查询,以检查密钥是否重复。问题是在完成“具有”操作后,我丢失了所有未重复的日志。
这是桌子:
这是我的查询:
=NOT(ISERROR(
QUERY({ArrayFormula(A1:A&B1:B&C1:C&D1:D)},
"select * where Col1='"&JOIN("",F1:I1)&"'",0)
)
)
我们将不胜感激。
答案 0 :(得分:1)
GROUP BY
使用逗号,
代替AND
SELECT count(params_advertiserId) AS duplicates
FROM android_clicks
GROUP BY params_advertiserId , app_id , date
HAVING COUNT(params_advertiserId) > 1
答案 1 :(得分:1)
这就是你想要的吗?
select (count(*) - count(distinct params_advertiserId, app_id, date)) / count(*) as duplicate_ratio
from android_clicks ac;
您的查询不正确,因为AND
用于布尔表达式。因此,GROUP BY
表达式的结果为true,false或NULL
。
如果要计数,则将其包装为子查询:
SELECT COUNT(*) as num_duplicates
FROM (SELECT params_advertiserId, app_id, date AS duplicates
FROM android_clicks ac
GROUP BY params_advertiserId, app_id, date
HAVING COUNT(*) > 1
);