当前位置: 首页 > 知识库问答 >
问题:

在BigQuery中计数不同的凹陷

黄沈浪
2023-03-14

我在BigQuery:count distinct concat(col1,col2,col3,col4,col5)中尝试了PostgreSQL:count distinct(col1,col2,col3,col4,col5)

我的设想是,我需要在BigQuery中获得与PostgreSQL相同的结果

虽然这个场景适用于3列,但我并没有得到与5列PostgreSQL相同的值。

示例查询:

 select col1,
count(distinct concat((col1,col2,col3,col4,col5)
from table A
group by col1

当我删除distinct和concat时,简单计数(col1、col2、col3、col4、col5)会给出PostgreSQL中填充的精确值。但我需要区分这些列。有没有办法做到这一点?bigquery concat的工作方式是否有所不同?

共有2个答案

刘承运
2023-03-14

一种适用于许多不支持COUNT DISTINCT形式的数据库的替代方案:

SELECT COUNT(*)
FROM (
  SELECT DISTINCT Origin, Dest, Reporting_Airline 
  FROM `fh-bigquery.flights.ontime_201908` 
  WHERE FlightDate_year = "2018-01-01" 
)

我对为什么CONCAT在您的示例中不起作用的猜测:您有任何空列吗?

戚宏扬
2023-03-14

下面是BigQuery标准SQL的几个选项

#standardSQL
SELECT col1,
  COUNT(DISTINCT TO_JSON_STRING((col1,col2,col3,col4,col5)))
FROM A
GROUP BY col1   

#standardSQL
SELECT col1,
  COUNT(DISTINCT FORMAT('%T', [col1,col2,col3,col4,col5]))
FROM A
GROUP BY col1
 类似资料:
  • 假设我有一个,我想把它写到多个BigQuery表中,为每个选择一个可能不同的表。 如何使用Apache BeamAPI来完成此操作?

  • 问题内容: Elasticsearch文档 建议 *他们的一段代码 *文件固定 对应于sql查询 但实际上对应于 我不想知道我有多少不同的值,但是什么是不同的值。有人知道如何实现吗? 问题答案: 在字段上使用术语汇总。并且您需要注意如何分析要获取不同值的字段,这意味着您需要确保在建立索引时没有对它进行标记,否则聚合中的每个条目都是一个不同的术语,属于字段内容。 如果您仍然希望令牌化并使用聚合,则可

  • 我试图解决这个问题。 给出了一个整数M和一个由N个非负整数组成的非空零索引数组A。数组A中的所有整数都小于或等于M。 一对整数(P,Q),使得0≤ P≤ Q 例如,考虑整数M=6和数组A,这样: 正好有九个不同的切片:(0, 0), (0, 1), (0, 2), (1, 1), (1,2), (2, 2), (3, 3), (3, 4)和(4,4)。 目标是计算不同切片的数量。 提前感谢。

  • 使用Java,我想计算alpha形状:给定一组2D点,我想找到一个包含所有点的面积最小的多边形列表。这里有更多信息。纯Java解决方案将是理想的选择。我可以从其他语言移植到Java的代码就可以了。我不想用原生包装。对我可以通过合理努力实现的算法进行解释也可以。 我真正需要的是组成阿尔法形状多边形的三角形,所以这需要额外的学分。

  • 本文向大家介绍获取不同的值并在MySQL中计数,包括了获取不同的值并在MySQL中计数的使用技巧和注意事项,需要的朋友参考一下 要获取不同的值并计算它们,可以使用GROUP BY子句。 语法如下 为了理解上述语法,让我们创建一个表。创建表的查询如下 使用insert命令在表中插入一些记录。查询如下- 使用select语句显示表中的所有记录。查询如下- 输出如下 现在,让我们获取不同的值并使用以下查

  • 我编写了一些aggs查询来获取总计(sum)和唯一计数。但结果有点混乱。 唯一值大于doc_count。 可能吗? 我知道基数aggs是实验性的,可以得到不同值的近似计数 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggr