Просто чтобы повторить то, что @skytreader ранее прокомментировал, rmvirtualenv
- это команда, предоставленная virtualenvwrapper
, а не virtualenv
. Может быть, у вас не установлено virtualenvwrapper
?
См. Справочник команд VirtualEnvWrapper для получения более подробной информации.
Агрегировать в производной таблице подзапроса и затем присоединиться к ней.
Select Date, User, Status, Notes
from [SOMETABLE]
inner join
(
Select max(Date) as LatestDate, [User]
from [SOMETABLE]
Group by User
) SubMax
on [SOMETABLE].Date = SubMax.LatestDate
and [SOMETABLE].User = SubMax.User
по-другому, это будет сканировать таблицу только один раз вместо двух, если вы используете подзапрос
только sql server 2005 и выше
select Date, User, Status, Notes
from (
select m.*, row_number() over (partition by user order by Date desc) as rn
from [SOMETABLE] m
) m2
where m2.rn = 1;
The derived table would work, but if this is SQL 2005, a CTE and ROW_NUMBER might be cleaner:
WITH UserStatus (User, Date, Status, Notes, Ord)
as
(
SELECT Date, User, Status, Notes,
ROW_NUMBER() OVER (PARTITION BY User ORDER BY Date DESC)
FROM [SOMETABLE]
)
SELECT User, Date, Status, Notes from UserStatus where Ord = 1
This would also facilitate the display of the most recent x statuses from each user.