【发布时间】:2022-12-09 16:11:51
【问题描述】:
我在下面的表中有一列
| Column A | Column B |
| Active | 202211210423 |
| XYZ | 202211210424 |
| XYZ | 202211210424 |
...
| PQR | 202211210426 |
| Active | 202211210523 |
| abc | 202211210525 |
如何计算 A 列中“活动”之间的不同记录?
输出可以像,COLUMN C 是“Active”之间的不同计数。
| Column A | Column B | Column C |
| Active | 202211210423 | x
| XYZ | 202211210424 | 24
| XYZ | 202211210424 | 24
...
| PQR | 202211210426 | 24
| Active | 202211210523 | 24
| abc | 202211210525 | y
我们可以使用分析函数来做到这一点吗?
我尝试使用 FIRST_VALUE 函数它没有用,因为它们都会第一次出现 Active。
输入字段 1
输出 2
【问题讨论】:
-
数数在哪里ColB
Active的值分别为0、3、1输出 2.他们的意思是什么 ? -
它是来自当前行的前一个不同时间戳的计数 = 活动。这 3 个计数是 2022120601310、2022120601325、2022120601342,其他计数相同。
-
您的新输出示例没有意义。请检查您的第二个示例。请解释“计算 A 列中的不同记录”是什么意思。
ColA列只有值“T100”,因此非重复计数始终为一,而不是第二个示例中的三。
标签: sql google-bigquery