【发布时间】:2020-11-30 09:26:00
【问题描述】:
我正在尝试解决这个 Leetcode 数据库问题 #550 - Game Play Analysis IV。 在下面给出问题的 url 以供任何人访问,而无需登录 leetcode:
https://code.dennyzhang.com/game-play-analysis-iv
我尝试使用与上述链接解决方案中给出的方法不同的windows功能解决问题。
我在 PostgreSQL 中的查询:
select count(distinct player_id) from
(select player_id,
lag(event_date,1) over (partition by player_id order by event_date) as prev,
event_date,
lead(event_date,1) over (partition by player_id order by event_date) as next
from activity) t
where t.event_date - t.prev = 1 or t.next - t.event_date = 1
我的查询正确地给出了满足要求的玩家人数。 但是,在将结果表示为在场不同玩家总数的一小部分时,我面临着挑战。
任何指导都会有很大帮助。
提前致谢!
【问题讨论】:
标签: sql postgresql window-functions