powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Непонятки с TOP N WITH TIES
9 сообщений из 9, страница 1 из 1
Непонятки с TOP N WITH TIES
    #32048992
Фотография toypaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли с помощью данной опции выбрать из "подгрупп" первые несколько записей. То есть примерно так


1 2 3
1 2 4
1 2 5
2 1 1
2 1 2
2 2 3
2 2 6

первые записи из подгрупп организованных первыми двумя полями:

1 2 3
2 1 1
2 2 3
...
Рейтинг: 0 / 0
Непонятки с TOP N WITH TIES
    #32049011
Фотография toypaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С этим понятно - не для этого предназначаена WITH TIES. Однако вопрос остается - как из подгрупп выбрать первые записи?
...
Рейтинг: 0 / 0
Непонятки с TOP N WITH TIES
    #32049018
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В лоб - с помощью курсора и временной таблицы (или табличной переменной).
...
Рейтинг: 0 / 0
Непонятки с TOP N WITH TIES
    #32049019
dmakar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[src]select f1,f2,min(f3)
from table
group by f1,f2
...
Рейтинг: 0 / 0
Непонятки с TOP N WITH TIES
    #32049020
dmakar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select f1,f2,min(f3)
from table
group by f1,f2
...
Рейтинг: 0 / 0
Непонятки с TOP N WITH TIES
    #32049103
vasiliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DECLARE @t table ( t1 Int,
t2 int,
t3 int )

insert into @t (t1,t2, t3)
values (1,1,5)
insert into @t (t1,t2, t3)
values (1,1,2)
insert into @t (t1,t2, t3)
values (1,1,3)
insert into @t (t1,t2, t3)
values (1,2,5)
insert into @t (t1,t2, t3)
values (1,2,2)
insert into @t (t1,t2, t3)
values (1,2,3)
insert into @t (t1,t2, t3)
values (1,3,5)
insert into @t (t1,t2, t3)
values (1,3,2)
insert into @t (t1,t2, t3)
values (1,3,1)

Declare @k table
( t1 Int,
t2 int )
insert into @K (t1,t2)
SELECT M.t1,M.t2 FROM @t M group by M.t1, M.t2

SELECT * FROM @t

DECLARE @S table ( t1 Int,
t2 int,
t3 int )

DECLARE @v1 int, @v2 int

set @v1=0
set @v2=0

select top 1 @v1=t1, @v2=t2 from @k where ((t1=@v1)and (t2> @v2) )OR (t1>@v1) order by t1,t2
while @@rowcount >0
begin
insert into @S (t1,t2, t3)
SELECT TOP 1 t1,t2, t3 FROM @t WHERE ( t1=@v1) and ( t2=@v2) order by t1,t2

select top 1 @v1=t1, @v2=t2 from @k where ((t1=@v1)and (t2> @v2) )OR (t1>@v1) order by t1,t2
end
SELECT * FROM @s
go
...
Рейтинг: 0 / 0
Непонятки с TOP N WITH TIES
    #32049225
Фотография toypaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем. На самом деле у меня немного другая задача, которую можно решить по другому, но самый эффективный способ заключался бы в выборке из подгрупп первых записей. Это конечно если бы синтаксис SQL поддерживал такую функцию.

Вот за что я иногда не люблю SQL и реляционные таблицы - задачи, которые интуитивно просто решаются с помощью SQL не удается решить просто.

Просто в моем случае - без использования курсоров.
...
Рейтинг: 0 / 0
Непонятки с TOP N WITH TIES
    #32049229
set nocount on
create table #t(i1 int,i2 int,i3 int)
insert #t values(1,2,3)
insert #t values(1,2,4)
insert #t values(1,2,5)
insert #t values(2,1,1)
insert #t values(2,1,2)
insert #t values(2,2,3)
insert #t values(2,2,6)

select i1,i2,min(i3)
from #t
group by i1,i2
order by i1,i2

drop table #t

сложно????
...
Рейтинг: 0 / 0
Непонятки с TOP N WITH TIES
    #32049257
Фотография toypaul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле там еще одна колонка, которая уже никак не упорядочена (третья действительно либо макс, либо мин), но значение которой и нужно выбрать по сочетанию первых двух и максимуму или минимуму третьей. Используя подзапрос знаю как сделать, а по другому?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Непонятки с TOP N WITH TIES
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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