【发布时间】:2015-08-17 03:38:11
【问题描述】:
如何在 Google Bigquery 中选择不同的值?
查询:
SELECT DISTINCT cc_info
FROM user
WHERE date = ?
谢谢!
【问题讨论】:
标签: google-bigquery
如何在 Google Bigquery 中选择不同的值?
查询:
SELECT DISTINCT cc_info
FROM user
WHERE date = ?
谢谢!
【问题讨论】:
标签: google-bigquery
这是实现您的目标(以防其他人需要)的另一种方式,适用于当前的 BigQuery 2020。
SELECT colname FROM table1
UNION DISTINCT
SELECT colname FROM table2
UNION DISTINCT
.
.
.
SELECT colname FROM tableN
我的参考是this article。
【讨论】:
SELECT COUNT(DISTINCT cc_info)
FROM user
WHERE date = ?
不是正确的查询,因为DISTINCT 是统计近似值,不能保证准确。见https://cloud.google.com/bigquery/docs/reference/legacy-sql#countdistinct
所以更好的方法是
select EXACT_COUNT_DISTINCT(cc_info) from user where date = ?
【讨论】:
只需使用 group by,
SELECT cc_info
FROM user
WHERE date = ?
GROUP BY cc_info
如果您想对可以使用的 DISTINCT 值进行计数,
SELECT COUNT(DISTINCT cc_info)
FROM user
WHERE date = ?
【讨论】:
尝试使用group by
SELECT cc_info
FROM user
WHERE date = ?
group by cc_info
【讨论】:
SELECT cc_info
FROM user
WHERE date = ?
GROUP BY cc_info
【讨论】:
GROUP BY 替换为GROUP EACH BY 以提高可扩展性。