Используйте аналитическую функцию LAG(<column>)
, чтобы получить «предыдущее» значение столбца, указанное в части OVER
, затем вычесть текущее значение из него и сделать его положительным числом, умножив его на -1
. Если предыдущее значение отсутствует (равно нулю), возьмите текущее значение.
Псевдокод будет выглядеть следующим образом:
If previous_order_value exists:
-1 * (previous_order_value - current_order_value)
Else
current_order_value
, где значение previous_order_value основано на том же идентификаторе & amp; school_id и сортируется по enrollment_start_date в порядке возрастания
Код SQL:
select
id,
school_id,
enrollment_start_date,
[order],
coalesce(-1 * (lag([order]) over (partition by id, school_id order by enrollment_start_date ) - [order]), [order]) as diff
from yourtable
Также обратите внимание, что ключевое слово order
зарезервировано в SQL Server, поэтому Ваш столбец был создан с именем, заключенным в [ ]
. Я предлагаю использовать другое слово для этого столбца, если это возможно.
Я решил, что проблема не была с netbeans. Это было с ftpd
на сервере.
Фиксация должна была создать названный файл ftpd.conf
в /etc/
и добавьте следующую строку:
umask all 022