Sql 使用窗口功能每天的id计数

Sql 使用窗口功能每天的id计数,sql,google-bigquery,Sql,Google Bigquery,我试图在一个月的窗口中计算一天中与给定的播放列表\u uri关联的track\u uri,并组成以下sql: SELECT playlist_uri, playlist_date, track_uri, count(track_uri) over (partition by playlist_uri, playlist_date) as count_tracks FROM tbl1 WHERE _PARTITIONTIME BETWEEN '2017-09-09' AND '2

我试图在一个月的窗口中计算一天中与给定的
播放列表\u uri
关联的
track\u uri
,并组成以下sql:

SELECT
  playlist_uri, playlist_date, track_uri, count(track_uri) 
  over (partition by playlist_uri, playlist_date) as count_tracks
FROM
  tbl1
WHERE
  _PARTITIONTIME BETWEEN '2017-09-09' AND '2017-10-09'
  AND playlist_uri in (
    SELECT playlist_uri from tbl2 WHERE playlist_owner  = "spotify"
  )
但是,我得到以下输出:

相反,我想让它显示每天每个
playlist\u uri
track\u uri
计数


非常感谢您的帮助。

不确定我是否正确理解您的问题,但如果您可能不需要为此使用窗口功能:

SELECT
  playlist_uri, playlist_date, COUNT(DISTINCT track_uri)
FROM
  tbl1
WHERE
  _PARTITIONTIME BETWEEN '2017-09-09' AND '2017-10-09'
  AND playlist_uri in (
    SELECT playlist_uri from tbl2 WHERE playlist_owner  = "spotify"
  )
GROUP BY 1, 2;

你能确认在那一天,该播放列表实际上没有50个曲目uri记录吗?您没有指定order by子句,因此数据不必排序。是的,我可以确认我以前使用order by运行过,并看到了相同的结果。我已经得到了我现在需要的输出,感谢它完成了任务,我想我把它复杂化了,因为这只是一个更大的查询的一部分