Считать до определенного значения? - PullRequest
0 голосов
/ 28 августа 2018

Скажем, у вас есть таблица, упорядоченная по дате, которая фиксирует скорость автомобилей с устройством в них. И представьте, что вы получаете 30 обновлений в день для скорости. Это не всегда 30 на транспортное средство. Данные будут содержать автомобиль, метку времени и скорость.

Что я хочу сделать, так это подсчитать, сколько дней прошло с тех пор, как автомобиль в последний раз проехал более 10 миль в час, чтобы найти неактивные машины. Возможно ли что-то подобное в postgresql?

* Или есть способ вернуть номер строки таблицы, если она отсортирована по скорости, превышающей 10, а затем выбрать дату в этом номере строки, чтобы вычесть текущую дату из указанной даты?

Ответы [ 2 ]

0 голосов
/ 29 августа 2018
SELECT vessel, now() - max(date) 
WHERE speed > 10
FROM your_table
GROUP BY vessel;
0 голосов
/ 28 августа 2018
SELECT DISTINCT ON (vessel) vessel, now() - date
FROM your_table
WHERE speed > 10
ORDER BY vessel, date DESC

Это скажет вам, для каждого транспортного средства, как давно его поле скорости было последним более 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...