У меня есть следующий базовый оператор SQL.Как найти последнюю строку даты и времени только в минуту?
SELECT
[Cycle_Id], [Machine], [Machine_Action], [Cycle_Date]
FROM
[EKAM].[dbo].[Machine_Cycle]
WHERE
Machine = 'OKK 2'
AND Cycle_Date BETWEEN '2016-08-15 7:59:00' AND '2016-08-18 7:59:00'
ORDER BY
Cycle_Date DESC
Он возвращает следующие данные.
Cycle_Id Machine Machine_Action Cycle_Date
--------------------------------------------------------------
85220 OKK 2 UP 2016-08-15 09:07:39.883
85221 OKK 2 DOWN 2016-08-15 09:08:04.367
85223 OKK 2 UP 2016-08-15 09:08:44.367
85226 OKK 2 DOWN 2016-08-15 09:08:55.367
85233 OKK 2 UP 2016-08-15 09:09:38.367
85234 OKK 2 DOWN 2016-08-15 09:10:07.367
Однако мне нужно это, чтобы вытащить следующие данные. Главное отличие в том, что мне нужна только последняя строка в минуту.
85220 OKK 2 UP 2016-08-15 09:07:39.883
85226 OKK 2 DOWN 2016-08-15 09:08:55.367
85233 OKK 2 UP 2016-08-15 09:09:38.367
85234 OKK 2 DOWN 2016-08-15 09:10:07.367
У меня слишком много данных, и я не беспокоюсь за данные, такие как миллисекунды и секунды. Мне нужна только одна строка в минуту, но по какой-то причине у меня возникают проблемы с этим. Возможно, я просто не спал прошлой ночью.
Я чувствую, что мне нужно переделать Cycle_Date, чтобы избавиться от секунд и миллисекунд, но куда мне идти?
что критерии для Shink вниз вашего результата? как вы решаете пропустить 85221, например? – techspider
@techspider «Главное отличие в том, что я хочу только последнюю строку за минуту». –
@MartinSmith да, получил смысл !! Вы тоже быстро отвечаете :) – techspider