我有一个包含 30 多列的 bigQuery 表,我想要 SELECT *
哪里session
是独一无二的。
我在 StackOverflow 上回答了几乎所有与此主题相关的问题,但没有一个能帮助我达到预期的结果。
我已经尝试过SELECT COUNT(DISTINCT session) FROM table.id
但问题是只返回 session
列,我需要整行。
然后我尝试了:
SELECT *
FROM `table.id`
WHERE session IN (
SELECT session
FROM `table.id`
GROUP BY session
HAVING COUNT(*) = 1
)
但它返回的行数比 SELECT COUNT(DISTINCT sessions)
少得多
所以按照逻辑我尝试过:
SELECT *, COUNT(DISTINCT sessions)
和SELECT * WHERE COUNT(DISTINCT sessions)
没有任何作用
有人可以帮忙吗?预先致谢并致以亲切的问候,
最佳答案
I want to SELECT * where session is unique ...
请改用下面的内容 - 请注意 COUNT(*) = 1
中使用 =
SELECT *
FROM `table.id`
WHERE session IN (
SELECT session
FROM `table.id`
GROUP BY session
HAVING COUNT(*) = 1
)
关于google-bigquery - Bigquery SELECT * WHEN COUNT(DISTINCT value) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66585717/