Google bigquery Bigquery-交叉连接的备选方案

Google bigquery Bigquery-交叉连接的备选方案,google-bigquery,Google Bigquery,除了在查询中指定的列之外,我的输出中还必须有以下列 过去7天内每个用户ID的(nativeprodID)计数 过去15天内每个用户ID的(nativeProdID)计数 过去30天内每个用户ID的(nativeprodID)计数 选择userid、nativeprodID、nativeVersion、nativeVersionName, MAX(StartTime)作为上次使用的时间戳, 从 [可生产] 其中NativeProd='AAA' 和GlobalPod='AAA' 按1,2,3,4分组

除了在查询中指定的列之外,我的输出中还必须有以下列
过去7天内每个用户ID的(nativeprodID)计数
过去15天内每个用户ID的(nativeProdID)计数
过去30天内每个用户ID的(nativeprodID)计数

选择userid、nativeprodID、nativeVersion、nativeVersionName,
MAX(StartTime)作为上次使用的时间戳,

[可生产]
其中NativeProd='AAA'
和GlobalPod='AAA'
按1,2,3,4分组
限制10

我正在考虑使用交叉连接,但是还有其他更简单的方法吗?

试试下面的方法

SELECT 
  userid, 
  nativeprodID, 
  nativeVersion, 
  nativeVersionName, 
  MAX(StartTime) AS Last_Used_TimeStamp, 
  SUM(IF(DATE(StartTime) > DATE(DATE_ADD(CURRENT_DATE() , -7, "DAY")), 1, 0)) AS count_last_7_days, 
  SUM(IF(DATE(StartTime) > DATE(DATE_ADD(CURRENT_DATE() , -15, "DAY")), 1, 0)) AS count_last_15_days, 
  SUM(IF(DATE(StartTime) > DATE(DATE_ADD(CURRENT_DATE() , -30, "DAY")), 1, 0)) AS count_last_30_days, 
FROM [ProdTable] 
WHERE NativeProd ='AAA' AND GlobalPod='AAA' 
GROUP BY 1,2,3,4 
LIMIT 10