powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Поиск: Искать ответы на сообщение: #370310  
2 сообщений из 2, страница 1 из 1
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #370310
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист
Участник
ну самое простое:

1 - берем 1ю и последнюю строку
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select *
from
(
    select
        *
        ,row_number() over (partition by name order by id asc)  rasc
        ,row_number() over (partition by name order by id desc)  rdesc
    from #a
) t
where 1 in (rasc, rdesc)
2 - группировка:
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
select
    name,
    min(id) as id1,
    min(time) as time1,
    max(id) as id2,
    max(time) as time2
from
(
    select
        *
        ,row_number() over (partition by name order by id asc)  rasc
        ,row_number() over (partition by name order by id desc)  rdesc
    from #a
) t
where 1 in (rasc, rdesc)
group by
    name
ну или 2й вариант с lag/lead
...
Изменено: 25.04.2023, 09:28 - Дед-Папыхтет
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #370371
cat2
Скрыть профиль Поместить в игнор-лист
Участник
Гесты и игнорируемые идут по CSS
Дед-Папыхтет  25.04.2023, 09:27
[игнорируется]
ну самое простое:

1 - берем 1ю и последнюю строку
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select *
from
(
    select
        *
        ,row_number() over (partition by name order by id asc)  rasc
        ,row_number() over (partition by name order by id desc)  rdesc
    from #a
) t
where 1 in (rasc, rdesc)
2 - группировка:
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
select
    name,
    min(id) as id1,
    min(time) as time1,
    max(id) as id2,
    max(time) as time2
from
(
    select
        *
        ,row_number() over (partition by name order by id asc)  rasc
        ,row_number() over (partition by name order by id desc)  rdesc
    from #a
) t
where 1 in (rasc, rdesc)
group by
    name
ну или 2й вариант с lag/lead
Неверный результат
name id1 time1 id2 time2
aaa 1 08:00:00.0000000 4 10:00:00.0000000
bbb 2 09:00:00.0000000 6 10:00:00.0000000
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Поиск: Искать ответы на сообщение: #370310  
Пользователи онлайн (145): Анонимы (133), Брюквенные годы, Arn, Yandex Bot, NSFuimus 1 мин., unique 1 мин., паразит 1 мин., XEugene 1 мин., kkk-jjj 2 мин., Bing Bot 2 мин., IT-Клоп 2 мин., pashtetos1 4 мин., Просто Трёп 5 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


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