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

Откуда:
Сообщений: 5
Приветствую!
Помогите, пожалуйста, с запросом.

Есть 2 таблицы:
1) users с пользователями:
user_id, user_name

2) events с событиями
event_id, user_id, event_time, event_type

Нужно по каждому пользователю получить последние значения event_time, event_type.

Сейчас
select user_id from users


в цикле vbs перебираю
select top 1 event_time, event_type from events where user_id = $user_id order by event_id desc


Хотелось бы 1 запросом из скрипта получить user_id, event_time, event_type
6 ноя 16, 17:58    [19862753]     Ответить | Цитировать Сообщить модератору
 Re: SQL-запрос.  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21494
antonstv
Нужно по каждому пользователю получить последние значения event_time, event_type.

Последние - по какому признаку? судя по показанной попытке - по значению автоинкремента, и чхать на время... так?
Ну а в общем случае WHERE ROW_NUMBER()=1.
6 ноя 16, 18:04    [19862763]     Ответить | Цитировать Сообщить модератору
 Re: SQL-запрос.  [new]
3unknown
Member

Откуда: New York
Сообщений: 140
select top 1 with ties *
from users u
join events e on u.user_id = e.user_id
order by row_number() over(partition by u.user_id order by event_time desc, event_type desc)
6 ноя 16, 18:06    [19862768]     Ответить | Цитировать Сообщить модератору
 Re: SQL-запрос.  [new]
antonstv
Member

Откуда:
Сообщений: 5
3unknown,
благодарю!
То что надо!
6 ноя 16, 18:17    [19862788]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить