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运行过,并看到了相同的结果。我已经得到了我现在需要的输出,感谢它完成了任务,我想我把它复杂化了,因为这只是一个更大的查询的一部分