получать только последнюю строку в нескольких записях каждого дня в TSQL

У меня есть таблица, примерно такая:

Id        Name        EnteredOn                    Percentage
`````````````````````````````````````````````````````````````
01        person1     2011-03-09 17:29:35.683      56.29
02        person1     2011-03-09 17:29:35.731      76.29
03        person1     2011-03-09 18:15:78.683      56.29
04        person1     2011-03-10 17:29:35.683      56.29
05        person1     2011-03-10 16:29:31.683      56.29
06        person1     2011-03-11 17:29:35.683      56.29

Подводя итог приведенной выше таблице, есть три строки для дня ] 09 и две строки для дня 10 .

Теперь я просто хочу выбрать последнюю строку - одну строку - на день.
(одна строка для 9, одна для 10 и одна для 11)

Я не могу использовать разные из-за метки времени. Я не могу сгруппировать и использовать:

CAST(CONVERT(FLOAT, EnteredOn) AS INT)

, потому что, когда я выбираю поле EnteredOn, оно жалуется, что оно не сгруппировано. Я не могу объединить отдельные (cast..date ...) , потому что я не могу получить правильный синтаксис.

Как я могу выбрать - только поля Name, EnteredOn, Percentage с отдельными каждый день?

Заранее большое спасибо.

7
задан iamserious 28 March 2011 в 08:45
поделиться