У меня проблема с этим (с использованием SQL Server 2005).Как группировать меньше столбцов, чем выбрано
Мой SELECT
запрос выглядит следующим образом:
SELECT
a.str_column1, b.str_column2, c.date_column3, c.guid_column4
FROM table
....
joining the other tables here to get my columns
....
GROUP BY
a.str_column1, b.str_column2, c.date_column3, c.guid_column4
Это даст что-то вроде этого
a.str_column1 b.str_column2 c.date_column3 c.guid_column4
------------------------------------------------------------------
a1 b1 15/07/2013 someID
a2 b2 05/06/2012 someID
a1 b1 07/08/2013 someID
....
Теперь я хочу, так что это сгруппированные по a.str_column1
и b.str_column2
, только получать самую последнюю один (order by c.dat_column3
)
a.str_column1 b.str_column2 c.date_column3 c.guid_column4
------------------------------------------------------------------
a1 b1 07/08/2013 someID
a2 b2 05/06/2012 someID
Любая идея, как я могу выполнить это с помощью SQL?
Мне нравится этот ответ. Мне никогда не приходилось использовать 'OVER' /' PARTITION BY', есть ли сайт, который вы можете почитать, или вы просто запустите описание MSDN? – seph
@seph - страница MSDN - это все, к чему я обычно связываю людей. –