Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE characters_by_gametime (
- id INTEGER AUTO_INCREMENT PRIMARY KEY,
- gold INTEGER,
- live INTEGER);
- INSERT INTO characters_by_gametime (gold, live)
- SELECT gold, live
- FROM characters
- ORDER BY game_time;
- SELECT
- c1.id,
- c1.gold - IFNULL(c2.gold, 0) AS gold,
- c1.live - IFNULL(c2.live, 0) AS live
- FROM
- characters_by_gametime c1
- LEFT JOIN characters_by_gametime c2
- ON c1.id = c2.id + 1
- ORDER BY
- c1.id;
- GameID CharacterName GameTime Gold Live
- ----------- ------------- ----------- ----------- -----------
- 1 Foo 10 100 3
- 2 Foo 20 100 2
- 3 Foo 30 95 2
- SELECT
- c.CharacterName,
- CASE WHEN c_offset.Gold IS NOT NULL THEN c.Gold - c_offset.Gold ELSE c.Gold END AS Gold,
- CASE WHEN c_offset.Live IS NOT NULL THEN c.Live - c_offset.Live ELSE c.Live END AS Live
- FROM Characters c
- LEFT OUTER JOIN Characters c_offset
- ON c.GameID - 1 = c_offSet.GameID
- ORDER BY
- c.GameTime
- CharacterName Gold Live
- ------------- ----------- -----------
- Foo 100 3
- Foo 0 -1
- Foo -5 0
Add Comment
Please, Sign In to add comment