使用窗口函数每天的id计数

时间:2017-10-17 23:27:55

标签: sql google-bigquery

我试图在一个月的窗口中计算一天中与给定track_uri相关联的playlist_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"
  )

但是我得到以下输出:

enter image description here

我希望每天向我显示track_uri每个playlist_uri的数量。

真的很感激一些帮助。

1 个答案:

答案 0 :(得分:1)

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

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;