Сложность в том, что вы проверяете часовое окно каждую минуту, поэтому ваш отчет составляет 1440 строк, если он находится на целый день. Вот немного кода, который может это сделать:
SET NOCOUNT ON
-- Create a temporary numbers table to demonstrate its use.
-- We need numbers up to 24*60-1 (24 hours * 60 minutes -1 for based on zero)
Declare @DailyIntervals int,
SET @DailyIntervals = 24 * 60 - 1
--SELECT @DailyIntervals
-- This calculates the number of recursive inserts needed to reach at least your maximum value
-- NOTE: This is based off of manually inserting your first four values into the table first!
DECLARE @loop int
SET @loop = CEILING(Log(@DailyIntervals,2))-2
Declare @m int
CREATE TABLE ##Nums (i int primary key clustered);
INSERT INTO ##Nums VALUES (1), (2), (3), (4); -- Seed the table
SET @m = 4
WHILE @loop > 0
BEGIN
INSERT INTO ##nums SELECT I + @m FROM ##Nums
SET @m = @@ROWCOUNT * 2 -- max value in table now
SET @loop = @loop - 1
END
INSERT INTO ##nums Values (0) -- add the zero value
--SELECT MAX(I) FROM ##Nums
-- Look at July 20th
DECLARE @BeginDt datetime = '2018-07-20'
-- Build a working table of one minute intervals for a full day
WITH hhrs as (
SELECT Dateadd(MINUTE, i, @BeginDt) as StartTm,
Dateadd(MINUTE, i+59, @BeginDt) as EndTm
FROM ##Nums
WHERE i BETWEEN 0 and @DailyIntervals
),
SELECT
StartTm,
EndTm,
min([Min]) as [Min],
max([max]) as [Max]
FROM hhrs h
INNER JOIN MyData m
ON m.[Time] Between @StartTm and @EndTm
ORDER BY StartTm
DROP TABLE ##Nums
При проверке списка поддерживаемых языков на наличие признаков умного дома польский в настоящее время не включен. Хотя ваш ответ SYNC действительно работает, вы не сможете взаимодействовать с устройствами на польском языке прямо сейчас. Хотя это, скорее всего, произойдет в будущем, на данный момент вы сможете использовать только один из языков, упомянутых выше.
После того, как польская поддержка действий «умного дома» будет поддержана, вам не нужно будет выполнять какую-либо дополнительную работу для успешного выполнения команд.