Как получить время использования в precent для устройства - PullRequest
0 голосов
/ 06 марта 2019

У меня есть таблица на SQL сервере 2017:

Статистика использования

для создания таблицы:


INSERT INTO [dbo].[Statistics]

           ([DeviceName]
           ,[ConnectStatistics]
           ,[RunningStatistics]
           ,[DateTime]
           ,[PcName])
     VALUES
           (<DeviceName, varchar(50),>
           ,<ConnectStatistics, bit,>
           ,<RunningStatistics, bit,>
           ,<DateTime, datetime,>
           ,<PcName, varchar(50),>)
GO

INSERT INTO [dbo].[Statistics] (DeviceName,ConnectStatistics,RunningStatistics,DateTime,PcName) 
VALUES ('Regatron_1', 1 , 0 , '2019-02-27 08:00:00','PC1'),
 ('Regatron_1', 1 , 1 , '2019-02-27 08:10:00','PC1'),
 ('Regatron_1', 1 , 0 , '2019-02-27 08:50:00','PC1'),
 ('Regatron_1', 1 , 1 , '2019-02-27 09:20:00','PC1'),
 ('Regatron_1', 0 , 0 , '2019-02-27 09:40:00','PC1'),
 ('Regatron_2', 1 , 0 , '2019-02-27 08:00:00','PC2'),
 ('Regatron_2', 1 , 1 , '2019-02-27 08:10:00','PC2'),
 ('Regatron_2', 1 , 0 , '2019-02-27 08:50:00','PC2'),
 ('Regatron_2', 1 , 1 , '2019-02-27 09:20:00','PC2'),
 ('Regatron_2', 0 , 0 , '2019-02-27 09:40:00','PC2')

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

В случае, если выбранное время находится между «2019-02-27 08:00:00» и «2019-02-27 09:40:00» -> диапазон времени составляет 1,4

Regatron_1_ConnectStatistics -> from 8:00 to 09:40 = 1.4

Regatron_1_RunningStatistics -> from 08:10 to 08:50 and 09:20 to 09:40 = 1

Regatron_2_ConnectStatistics -> from 8:00 to 09:40 = 1.4

Regatron_2_RunningStatistics -> from 08:10 to 08:50 and 09:20 to 09:40 = 1 The answer:

Regatron_1_ConnectStatistics(%) = (1.4/1.4)*100

Regatron_1_RunningStatistics(%) = (1/1.4)*100

Regatron_2_ConnectStatistics(%) = (1.4/1.4)*100

Regatron_2_RunningStatistics(%) = (1/1.4)*100

Может ли кто-нибудь помочь мне написать правильный запрос для этого?

Спасибо

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