Выбрать строки больше, чем последний максимум в том же столбце? - PullRequest
1 голос
/ 17 марта 2020

Проблема, с которой я сталкиваюсь, связана с базой данных бурения. Таблица имеет два столбца: первый с глубиной, записанной датчиком, а второй с отметкой времени. Во время бурения оборудование может быть возвращено обратно для замены его долота.

An example of the table follows:

Я пытаюсь сделать запрос, который описал бы, например, сколько времени занимает сверление каждого метра (0-1; 1-2; 2-3), например :

Duration of each meter drilled

Проблема, с которой я сталкиваюсь, заключается в том, что при выполнении этого сравнения между строками на SQL Сервере, если я пытаюсь сравнить max(Timestamp) после группировки, я в конечном итоге включаю данные, когда биты возвращаются, что я не хочу делать.

Select
Case when a.depth > 0 and a.depth <= 1 then '0-1'
when depth > 1 and depth <= 2 then '1-2' -- and so on until 10m where it ends… 
end as 'Class',
(max(Timestamp) - min(Timestamp)) as 'Duration'
from Table
group by Class
order by Class

Кто-нибудь знает, как сделать это сравнение между строками одного столбца? По сути, он должен игнорировать любые значения, которые ниже, чем его последний максимум.

...