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

Откуда:
Сообщений: 8
Господа, помогите пожалуйста.
есть таблица в которой содержатся наименования клиентов и дата их последней активности
примерно так:
дата лога имя
2012-02-21 вася пупкин
2012-03-17 костя пяткин
2013-07-01 вася пупкин
2015-02-01 костя пяткин
и в ней нужно провести двойную сортировку да так что бы потом ее можно было приджойнить к другой таблице.
(нужно определить дату последнего логирования пользователя)
8 июн 15, 15:01    [17744913]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
Glory
Member

Откуда:
Сообщений: 104751
ArtemF
и в ней нужно провести двойную сортировку

И как должен выглядеть результат этой сортировки ?

ArtemF
(нужно определить дату последнего логирования пользователя)

Это делается группировкой с агрегатной функцией MAX
8 июн 15, 15:03    [17744919]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ArtemF
(нужно определить дату последнего логирования пользователя)

а что второй критерий сортировки то ? И Зачем сортировать перед джойном то ? если в итоге нужно (скорее всего) сортировать результат
8 июн 15, 15:05    [17744931]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
ArtemF
провести двойную сортировку да так что бы потом ее можно было приджойнить к другой таблице.
C каких это пор JOIN стал зависеть от сортировки
(TOP ... ORDER BY - это, выообще говоря, несортировка)?

Может, всё-таки, зададите вопрос понятнее, на русском языке?
Например, почему сортировка должна быть "двойная", а, к примеру, не "тройная"?
8 июн 15, 15:07    [17744938]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
ArtemF
Member

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

2013-07-01 вася пупкин - нужная строчка
2012-02-21 вася пупкин
2015-02-01 костя пяткин - нужная строчка
2012-03-17 костя пяткин

сгруппировать строки по логину пользователя и по дате его лога.
т.е. определить когда каждый из пользователей логинился в системе последний раз
8 июн 15, 15:16    [17744996]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
ArtemF
Member

Откуда:
Сообщений: 8
iap,
простите меня если я выражаюсь не корректно - я, можно сказать, самоучка.
необходимый результат постарался описать понятнее чуть выше.
8 июн 15, 15:18    [17745012]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
Glory
Member

Откуда:
Сообщений: 104751
ArtemF
сгруппировать строки по логину пользователя и по дате его лога.

Нет, только по логину пользователя
8 июн 15, 15:18    [17745015]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
ArtemF,

пронумеруйте строки в каждой группе по убыванию даты
и оставьте строки с номером 1.
8 июн 15, 15:20    [17745025]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
ArtemF
Glory,

2013-07-01 вася пупкин - нужная строчка
2012-02-21 вася пупкин
2015-02-01 костя пяткин - нужная строчка
2012-03-17 костя пяткин

сгруппировать строки по логину пользователя и по дате его лога.
т.е. определить когда каждый из пользователей логинился в системе последний раз


SELECT MAX([Дата когда логинился]) AS LastDate,
[Имя пользователя] AS UserName
FROM [ТАБЛИЦА]
GROUP BY [Имя пользователя]
8 июн 15, 15:25    [17745084]     Ответить | Цитировать Сообщить модератору
 Re: двойная сортировка. (sql transact)  [new]
ArtemF
Member

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

спасибо добрый человек!
8 июн 15, 16:22    [17745500]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить