Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Sql даты 2 / 3 сообщений из 3, страница 1 из 1
14.09.2020, 07:28
    #39998183
antonkuzmenkov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sql даты 2
date status name11.08.2020 работает 121.08.2020 не работает 122.08.2020 в процессе 111.09.2020 не работает 212.09.2020 не работает 226.09.2020 работает 201.10.2020 работает 213.09.2021 не работает 314.09.2021 работает 314.09.2021 работает 314.09.2021 не работает 301.10.2021 в процессе 316.10.2021 работает 117.10.2021 не работает 2

Спасибо за прошлое решение
авторwith cte as (
select date, name,
case when status <> lead(status) over (partition by year(date), month(date), name order by date) then 1 else 0 end change
from A
)
select year(date), month(date), name, sum(change) + 1
from cte
group by year(date), month(date), name
having sum(change) >= 3 - 1;


авторМне нужно выявить как в промежутке месяца менялся статус. Т.е. работает, не работает, работает. Или работает, не работает в процессе. Т.е предположим значений больше, делаю дистинкт. Потом создаю месячные промежутки и ищу там >= 3 значений.

Задача усложнилась, теперь промежуток нужен в 2 месяца подряд. Спасибо большое.
...
Рейтинг: 0 / 0
14.09.2020, 08:04
    #39998187
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sql даты 2
antonkuzmenkov

Задача усложнилась, теперь промежуток нужен в 2 месяца подряд. Спасибо большое.


Зряплату за тебя не нужно получить?
...
Рейтинг: 0 / 0
14.09.2020, 09:27
    #39998201
antonkuzmenkov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sql даты 2
Если бы за это платили)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Sql даты 2 / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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