У меня есть таблица ниже.
Теперь мне нужен вывод, как показано ниже.
Теперь мне нужно отобразить различия продуктов между последовательными датами в зависимости от группы продуктов. Например: в Apple l oop первая строка должна возвращать значение по умолчанию 3, а затем следующая строка должна возвращать значение разницы. Точно так же код должен работать для следующего продукта Samsung l oop. Затем результат должен быть передан в новый столбец, как показано в требуемом выводе.
Я совершенно новичок в MySQL, однако я старался изо всех сил использовать соединение, чтобы получить желаемый результат, но я понятия не имею, с чего начать. Пожалуйста, ознакомьте меня с этой новой концепцией.
Ниже приведен мой код, который я пробовал.
CREATE TABLE products (
id numeric,
product text,
date_value DATE,
prod_value numeric);
INSERT INTO products(id, product, date_value, prod_value)
VALUES(1, 'Apple', '2018-01-22', 3);
INSERT INTO products(id, product, date_value, prod_value)
VALUES(2, 'Apple', '2018-01-23', 6);
INSERT INTO products(id, product, date_value, prod_value)
VALUES(3, 'Apple', '2018-01-24', 7);
INSERT INTO products(id, product, date_value, prod_value)
VALUES(4, 'Samsung', '2018-01-22', 1);
INSERT INTO products(id, product, date_value, prod_value)
VALUES(5, 'Samsung', '2018-01-23', 5);
SELECT
current.prod_value,(current.prod_value - previous.prod_value) diff
FROM
products previous
JOIN
products current
ON
current.id = previous.id+1;