2015-12-14 3 views
-1

У меня есть таблица с данными, как следует, я хочу, чтобы выбрать последующие данные группы по и порядок по мере того как изображение нижеКак группировать и заказывать на SQL-сервере?

SELECT USER_ID, USER_PROFILE_ID, START_DATE FROM ABC 
    ORDER BY START_DATE DESC 

enter image description here

В результате, у меня есть 3 строки, теперь я хочу 2 строки, я прикажу BY START_DATE и удалять те же строки GROUP BY USER_ID и USER_PROFILE_ID

+0

Что такое смысл оранжевый прямоугольник в изображении? –

+0

Можете ли вы объяснить, какую группу вы пытаетесь достичь? Это не ясно из прилагаемого изображения. – Mureinik

+0

А, как результат, у меня есть 3 строки. Теперь я хочу 2 строки, я буду сортировать по START_DATE и удалять одинаковые строки –

ответ

2

Чтобы получить самую последнюю строку (для данного пользователя & профиля) использовать:

SELECT 
    USER_ID, 
    USER_PROFILE_ID, 
    MAX(START_DATE) as START_DATE 
FROM ABC 
GROUP BY USER_ID, USER_PROFILE_ID 

Вы можете добавить ORDER BY на это. Для заказа по дате вам нужно будет использовать MAX (START_DATE) DESC.

Подробнее в документации SQL https://msdn.microsoft.com/en-us/library/ms177673.aspx

Смежные вопросы