在Big Query中,移动的不同计数(Moving Distinct Count)可以使用以下SQL语法来实现:
WITH tempTable AS ( SELECT DISTINCT date, column_name, COUNT(DISTINCT column_value) OVER (PARTITION BY column_name ORDER BY date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS distinct_count FROM table_name )
SELECT * FROM tempTable;
上述代码使用了WITH语句来创建一个名为“tempTable”的临时表(temporary table),该临时表定义了包含日期和列名的唯一组合的不同值计数(distinct_count)。然后,使用OVER子句和PARTITION BY语句来定义在列名的范围内进行计数,并使用ROWS BETWEEN语句来计算前7行的计数值。最后,SELECT语句将tempTable中的所有列输出到结果中。
请注意,在使用更少的行数计算不同计数时,需要相应地更改ROWS BETWEEN子句中的数字。