Advertisement
Guest User

WITH snapshotWithTies AS (SELECT s.PlayerId, s.S

a guest
Feb 24th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. WITH snapshotWithTies AS
  2.   (SELECT s.PlayerId,
  3.           s.Score,
  4.           s.[DATE]
  5.    FROM dbo.[Snapshot] s
  6.    GROUP BY s.PlayerId,
  7.             s.Score,
  8.             s.[DATE]),
  9.      firstDateScoring AS
  10.   (SELECT TOP 1 WITH TIES *
  11.    FROM snapshotWithTies snap
  12.    WHERE [DATE] >= '2020-01-08'
  13.    ORDER BY ROW_NUMBER() OVER(PARTITION BY snap.PlayerId
  14.                               ORDER BY snap.[DATE] ASC)),
  15.      secondDateScoring AS
  16.   (SELECT TOP 1 WITH TIES *
  17.    FROM snapshotWithTies snap
  18.    WHERE [DATE] <= '2020-01-09'
  19.    ORDER BY ROW_NUMBER() OVER(PARTITION BY snap.PlayerId
  20.                               ORDER BY snap.[DATE] DESC))
  21. SELECT p.Id Id,
  22.        p.[Username] Player,
  23.        ss.Score - fs.Score Delta
  24. FROM dbo.[Player] p
  25. JOIN firstDateScoring fs ON fs.PlayerId = p.Id
  26. JOIN secondDateScoring ss ON ss.PlayerId = p.Id;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement