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

Откуда:
Сообщений: 3
Добрый день,

Есть таблица:

Tag | Account

100 1
200 2
300 2
400 1
100 3

Требуется составить запрос, который выведет вот такой результат:

Tag | Account

100 1
200 2
100 3

То есть вывести строки, с первым вхождением поля Account. Пробовал различные комбинации с DISTINCT и GROUP BY, но самостоятельно составить запрос не в состоянии.
30 янв 16, 13:33    [18749576]     Ответить | Цитировать Сообщить модератору
 Re: Выборка первого значения поля  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
iTorvic,
"первой" запись может быть лишь при указании конкретной сортировки.
30 янв 16, 13:41    [18749584]     Ответить | Цитировать Сообщить модератору
 Re: Выборка первого значения поля  [new]
iTorvic
Member

Откуда:
Сообщений: 3
Кот Матроскин,

Допустим, в таблице есть третий столбец, например, с датой и сортировка производится по этому столбцу, по возрастанию.
30 янв 16, 13:50    [18749596]     Ответить | Цитировать Сообщить модератору
 Re: Выборка первого значения поля  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
with a as
(
 select *, row_number() over (partition by Account order by [столбец(ы) упорядочивания]) as rn from [Таблица]
)
select
 Tag, Account
from
 a
where
 rn = 1;
30 янв 16, 13:56    [18749607]     Ответить | Цитировать Сообщить модератору
 Re: Выборка первого значения поля  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Если у Вас 2014 сервер - воспользуйтесь first_value, если нет - можно сделать в 2 шага с row_number
30 янв 16, 13:59    [18749614]     Ответить | Цитировать Сообщить модератору
 Re: Выборка первого значения поля  [new]
iTorvic
Member

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

Большое спасибо, такой вариант работает.
30 янв 16, 14:12    [18749637]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить