Выберите Max Distinct Dates из списка дат

У меня есть таблица, которая представляет собой список дат со временем. Например

Даты

1/3/2014 6:16:43.570 AM
1/3/2014 6:17:02.300 AM
1/3/2014 6:23:09.700 AM
1/6/2014 6:02:09.993 AM
1/6/2014 6:02:34.323 AM
1/6/2014 6:03:02.957 AM
1/6/2014 6:08:48.867 AM
1/6/2014 6:09:04.917 AM

Что я хочу закончить это:

1/3/2014 6:23:09.700 AM
1/6/2014 6:09:04.917 AM

так как это самые последние времена для каждой даты.

Любая помощь будет принята с благодарностью.

2 ответа

SELECT MAX(datetime)
FROM Dates
GROUP BY DATE(datetime)

Вы можете использовать группу по или номер строки. Вот номер строки, чтобы показать вам другой способ сделать это. (Так как другие показали группу на примере)

SELECT d
FROM
(
   SELECT d,
          row_number() OVER (PARTITION BY convert(date,d) ORDER BY d DESC) as rownum
   FROM Dates
) t
WHERE rownum = 1
Другие вопросы по тегам