Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20970 |
Последние - по какому признаку? судя по показанной попытке - по значению автоинкремента, и чхать на время... так? Ну а в общем случае WHERE ROW_NUMBER()=1. |
||
6 ноя 16, 18:04 [19862763] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
antonstv Member Откуда: Сообщений: 5 |
3unknown, благодарю! То что надо! |
6 ноя 16, 18:17 [19862788] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |