Поскольку вы не имеете уникальный столбец в вашей таблице, вы можете достичь этого, включая переменную связывания [@rn
& @rn1
], который добавляет уникальный номер последовательно к каждой строке в таблице.
Попробуйте это:
SELECT tab1.application_id, tab1.fiscal_year, tab1.data1, coalesce(cast(tab1.data2 as signed) -
cast(tab2.data2 as signed), tab1.data2) as diff
FROM
(SELECT b.application_id, @rn1:[email protected]+1 AS rank, b.fiscal_year, b.data1, b.data2
FROM your_table b, (SELECT @rn1:=0) t1) as tab1,
(SELECT a.application_id, @rn:[email protected]+1 AS rank, a.fiscal_year, a.data1, a.data2
FROM your_table a, (SELECT @rn:=0) t2) as tab2
WHERE tab1.rank = tab2.rank + 1;
Каковы ваши ожидаемые результаты от вашего данного экрана? – sgeddes
Это все ваши столбцы? Есть ли первичный ключ? –
Ожидаемые результаты - это разница в результатах столбца «Data2» (558-536), (578-558) и т. Д. Первичный ключ - application_id – IamRKY