powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select по изменению c 0 на 1 и с 1 на 0
3 сообщений из 3, страница 1 из 1
select по изменению c 0 на 1 и с 1 на 0
    #39748335
sirus_christus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть таблица типа

--------------------------------
value | timestamp |
0 |2018-12-13 13:43:00 |
0 |2018-12-13 13:43:05 |
0 |2018-12-13 13:43:10 |
1 |2018-12-13 13:43:15 |
1 |2018-12-13 13:43:20 |
0 |2018-12-13 13:43:25 |
0 |2018-12-13 13:43:30 |
----------------------------------

Как сделать выборку, что бы можно было вывести дату когда начинаются нули (0) и до начала единицы (1), т.е выводить время начала нулей и окончание - строку перед единицей?

Спасибо за любой совет!
...
Рейтинг: 0 / 0
select по изменению c 0 на 1 и с 1 на 0
    #39748386
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть около миллиона разных решений этой задачи.
Например:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
WITH Data AS 
(
 SELECT *
 FROM(VALUES
  (0,'2018-12-13T13:43:00')
 ,(0,'2018-12-13T13:43:05')
 ,(0,'2018-12-13T13:43:10')
 ,(1,'2018-12-13T13:43:15')
 ,(1,'2018-12-13T13:43:20')
 ,(0,'2018-12-13T13:43:25')
 ,(0,'2018-12-13T13:43:30')
 )T([value],[timestamp])
)
,GrData AS(SELECT GN=ROW_NUMBER()OVER(ORDER BY [timestamp])-ROW_NUMBER()OVER(PARTITION BY [value] ORDER BY [timestamp]),* FROM Data)
SELECT [value],[From]=MIN([timestamp]),[To]=MAX([timestamp])
FROM GrData
GROUP BY [value],GN
ORDER BY MIN([timestamp]);
...
Рейтинг: 0 / 0
select по изменению c 0 на 1 и с 1 на 0
    #39748798
sirus_christus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap, Спасибо огромное! Вы Бог SQL!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select по изменению c 0 на 1 и с 1 на 0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]