【发布时间】:2021-03-12 22:41:51
【问题描述】:
我有一个包含 30 多列的 bigQuery 表,我想 SELECT * 其中 session 是唯一的。
我有这个问题:
SELECT *
FROM `table.id`
WHERE session IN (
SELECT session
FROM `table.id`
GROUP BY session
HAVING COUNT(*) = 1
)
它有效,但我刚刚从另一个问题中得知HAVING COUNT(*) = 1 排除了重复的行:
请注意,DISTINCT 用于显示不同的记录,包括来自重复的 1 条记录。另一方面, HAVING COUNT() = 1 只检查不重复的记录。 举个简单的例子,如果会话有:1、1、2、3 DISTINCT 将导致:1、2、3 HAVING COUNT() = 1 将导致:2, 3
我需要DISTINCT 结果,即包含一个重复项的结果。
有人可以帮助我吗?提前感谢,亲切的问候
【问题讨论】:
标签: google-bigquery