powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Просьба помочь с запросом
7 сообщений из 7, страница 1 из 1
Просьба помочь с запросом
    #39424806
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare @t table(n int,id int)
insert into @t (n,id)
values
 (1,1)
,(2,1)
,(3,1)
,(4,2)
,(5,2)
,(6,3)
,(7,1)
,(8,1)
,(9,2)


в результате нужно получить
1,1
4,2
6,3
7,1
9,2
т.е. первое значение из группы в столбце ID
...
Рейтинг: 0 / 0
Просьба помочь с запросом
    #39424812
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81т.е. первое значение из группы в столбце IDselect max(n), id
...
Рейтинг: 0 / 0
Просьба помочь с запросом
    #39424814
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
declare @t table(n int,id int)
insert into @t (n,id)
values
 (1,1)
,(2,1)
,(3,1)
,(4,2)
,(5,2)
,(6,3)
,(7,1)
,(8,1)
,(9,2);

WITH CTE AS(SELECT rn=ROW_NUMBER()OVER(ORDER BY n)-ROW_NUMBER()OVER(PARTITION BY id ORDER BY n),* FROM @t)
SELECT n=MIN(n), id=MIN(id)
FROM CTE
GROUP BY rn,id
ORDER BY n;
...
Рейтинг: 0 / 0
Просьба помочь с запросом
    #39424845
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgPG81т.е. первое значение из группы в столбце IDselect max(n), idто есть min
...
Рейтинг: 0 / 0
Просьба помочь с запросом
    #39424883
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgalexeyvgпропущено...
select max(n), idто есть minЕму же надо и (1,1), и (7,1)
...
Рейтинг: 0 / 0
Просьба помочь с запросом
    #39425764
kirser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PG81,

попробуй так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
declare @t table(N int, ID int)
insert into @t (n,id)
values
 (1,1)
,(2,1)
,(3,1)
,(4,2)
,(5,2)
,(6,3)
,(7,1)
,(8,1)
,(9,2)

SELECT 
	t1.*/*,
	'--',
	t2.* */
FROM @t t1
	LEFT JOIN @t t2 
		ON	t1.N - 1 = t2.N 
WHERE 
	t2.N IS NULL or t1.ID <> t2.ID
...
Рейтинг: 0 / 0
Просьба помочь с запросом
    #39425767
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kirserPG81,
попробуй так:

Решение уже дали, и куда эффективнее твоего, так что кыш отсюда.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Просьба помочь с запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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