Существует база данных с почасовыми данными временных рядов, где каждая строка в базе данных представляет один час.Пример:
TIMESERIES TABLE
id date_and_time entry_category
1 2017/01/20 12:00 type_1
2 2017/01/20 13:00 type_1
3 2017/01/20 12:00 type_2
4 2017/01/20 12:00 type_3
Сначала я использовал оператор GROUP BY
, чтобы найти самую последнюю дату и время для каждого типа категории записи:
SELECT MAX(date_and_time), entry_category
FROM timeseries_table
GROUP BY entry_category;
Однако теперь я хочу найти, какиеэто дата и время, которое является ПОСЛЕДНИМ ПОСЛЕДНИМ из числа datetime
, полученных мною с помощью запроса, указанного выше.Мне нужно будет как-то использовать SELECT MIN(date_and_time)
, но как мне сообщить SQL, что я хочу обработать вывод моего предыдущего запроса как «новую таблицу», чтобы применить новый запрос SELECT?Вывод моего общего запроса должен быть одним значением - в приведенном выше примере date_and_time = 2017/01/20 12:00
.
Я пытался использовать псевдонимы, но, похоже, не смог добиться цели,они только переименовывают существующие столбцы или таблицы (или я их неправильно использую ...). Есть много вопросов, которые пытаются перечислить MAX или MIN для определенной группы (например, https://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/ или Выберите максимумзначение каждой группы ) - это то, чего я уже достиг, но я хочу сейчас заняться этим списком полученных дат и времени.Моя база данных очень проста, но мне не хватает знаний, чтобы связать эти запросы вместе.
Спасибо, ура!