Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вывод одной записи  [new]
Pabl0
Member

Откуда:
Сообщений: 265
Подскажите пожалуйста, есть записи в таблице:

id sex age
0 | m | 22
1 | g | 23
2 | g | 25
3 | m | 30

по итогу у хочу получить 2 записи, например самых взрослых из каждого пола

2 | g | 25
3 | m | 30

     select
	 a.id, a.sex, a.age
	from
	 table v cross apply
	 (select top (1) v1.id, v1.sex, v1.age from table v1 where v1.sex = v.sex order by v1.age desc) a
	group by
	 a.id, a.sex, a.age;
20 апр 18, 16:23    [21355314]     Ответить | Цитировать Сообщить модератору
 Re: Вывод одной записи  [new]
Pabl0
Member

Откуда:
Сообщений: 265
Что я делаю не так?
20 апр 18, 16:24    [21355317]     Ответить | Цитировать Сообщить модератору
 Re: Вывод одной записи  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Pabl0,
select 1 WITH TIES
	a.id, a.sex, a.age
from
	table v 
ORDER BY 
	ROW_NUMBER() OVER (PARTITION BY a.sex ORDER BY a.age DESC )
20 апр 18, 16:27    [21355335]     Ответить | Цитировать Сообщить модератору
 Re: Вывод одной записи  [new]
Pabl0
Member

Откуда:
Сообщений: 265
TaPaK,

у меня такое чувство что моя версия MS SQL не видит такое TIES, даже не подсветил

Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
20 апр 18, 16:33    [21355357]     Ответить | Цитировать Сообщить модератору
 Re: Вывод одной записи  [new]
Pabl0
Member

Откуда:
Сообщений: 265
TaPaK, заработало, спасибо

Написал
select top 1 WITH TIES
	a.id, a.sex, a.age
from
	table v 
ORDER BY 
	ROW_NUMBER() OVER (PARTITION BY a.sex ORDER BY a.age DESC )
20 апр 18, 16:37    [21355370]     Ответить | Цитировать Сообщить модератору
 Re: Вывод одной записи  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Pabl0,

top 1 with ties
забыл
20 апр 18, 16:37    [21355372]     Ответить | Цитировать Сообщить модератору
 Re: Вывод одной записи  [new]
Гигабайт Мегабайтович Килобайтов
Member [заблокирован]

Откуда:
Сообщений: 5975
а если будет две записи с "m | 30" что должно вывестись ? ))
20 апр 18, 16:47    [21355403]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить