Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вывод одной записи / 7 сообщений из 7, страница 1 из 1
20.04.2018, 16:23
    #39633843
Pabl0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод одной записи
Подскажите пожалуйста, есть записи в таблице:

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

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

2 | g | 25
3 | m | 30

Код: sql
1.
2.
3.
4.
5.
6.
7.
     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;
...
Рейтинг: 0 / 0
20.04.2018, 16:24
    #39633844
Pabl0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод одной записи
Что я делаю не так?
...
Рейтинг: 0 / 0
20.04.2018, 16:27
    #39633850
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод одной записи
Pabl0,
Код: sql
1.
2.
3.
4.
5.
6.
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 )
...
Рейтинг: 0 / 0
20.04.2018, 16:33
    #39633858
Pabl0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод одной записи
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.
...
Рейтинг: 0 / 0
20.04.2018, 16:37
    #39633864
Pabl0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод одной записи
TaPaK, заработало, спасибо

Написал
Код: sql
1.
2.
3.
4.
5.
6.
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 )
...
Рейтинг: 0 / 0
20.04.2018, 16:37
    #39633865
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод одной записи
Pabl0,

top 1 with ties
забыл
...
Рейтинг: 0 / 0
20.04.2018, 16:47
    #39633876
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод одной записи
а если будет две записи с "m | 30" что должно вывестись ? ))
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вывод одной записи / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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