Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE inventory
- (`animal` varchar(6), `date` date, `quantity` int);
- INSERT INTO inventory
- (`animal`, `date`, `quantity`)
- VALUES
- ('dog', '2015-01-01', 400),
- ('cat', '2015-01-01', 300),
- ('dog', '2015-01-02', 402),
- ('rabbit', '2015-01-01', 500),
- ('cat', '2015-01-02', 304),
- ('rabbit', '2015-01-02', 508),
- ('rabbit', '2015-01-03', 524),
- ('rabbit', '2015-01-04', 556),
- ('rabbit', '2015-01-05', 620),
- ('rabbit', '2015-01-06', 748);
- +--------+------------+----------+---------------+
- | animal | date | quantity | quantity_diff |
- +--------+------------+----------+---------------+
- | rabbit | 2015-01-01 | 500 | 8 |
- | rabbit | 2015-01-02 | 508 | 16 |
- | rabbit | 2015-01-03 | 524 | 32 |
- | rabbit | 2015-01-04 | 656 | 64 |
- | rabbit | 2015-01-05 | 620 | 128 |
- | rabbit | 2015-01-06 | 748 | null |
- +--------+------------+----------+---------------+
- set @qt:=null;
- select animal,
- `date`,
- quantity,
- lead-quantity quantity_diff
- from ( select i.animal,
- i.`date`,
- @qt as lead,
- @qt := i.quantity as quantity
- from inventory i
- where i.animal = 'rabbit'
- order by `date` desc
- ) tab
- order by `date`;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement