我有一个表,它收集了用户登录时的条目.

username, date,      value
--------------------------
brad,     1/2/2010,  1.1
fred,     1/3/2010,  1.0
bob,      8/4/2009,  1.5
brad,     2/2/2010,  1.2
fred,     12/2/2009, 1.3

etc..

如何创建一个查询, for each 用户提供最新的日期?

Update:我忘了我需要一个与最新日期一致的值.

推荐答案

select t.username, t.date, t.value
from MyTable t
inner join (
    select username, max(date) as MaxDate
    from MyTable
    group by username
) tm on t.username = tm.username and t.date = tm.MaxDate

Sql相关问答推荐

GROUP BY与多个嵌套查询T—SQL

如何以"% m—% d"格式对生日列表进行排序,以查找与今天最近的日期?

如何转换和汇总行数

不可能在SQL MERGE子句中引发异常

在SQL中将相同且紧挨着的元素进行分组

我希望以正确的升序获取SQL结果.怎样才能得到它们?

为什么TRY_CONVERT返回一个XML验证错误而不是NULL?

了解放置时的连接

按日期时间(不包括秒)连接表

查询每周数据(周一至周日),避免年度日期重叠

在SQL中为两个日期之间的每个日期添加行

Oracle分层查询-两条路径在末尾合并为一条

如何解决错误;ORA-00911:无效字符;在果朗?

不存在记录的国外关键点

获取主表条目,其中最新的辅助条目是 6 个月前

将时间戳四舍五入到最近 10 分钟的查询

正则表达式:停在第一个匹配的其中一个字符位置上

如何将输出转换为二维格式?

根据是否存在值组合分组并 Select 行

sql count distinct by column 和 sum false 和 true