Select 选择“最大(日期)”返回最新记录但数据错误

Select 选择“最大(日期)”返回最新记录但数据错误,select,maxdate,Select,Maxdate,我有多条记录,所有记录都具有相同的用户id,并且每个记录都具有唯一的时间戳 我需要根据最新日期返回用户id的正确数据-MAX(date) 我的查询返回最后一个日期,但数据不正确(即与以前的记录集关联的数据): 你能帮助我理解如何更正我的查询吗?我认为这样做行不通 我认为你应该尝试以下方式: select user_id, doc_docpath_00 from doc where user_id = '90' and doc_uploadtimestamp = ( select max(

我有多条记录,所有记录都具有相同的
用户id
,并且每个记录都具有唯一的时间戳

我需要根据最新日期返回用户id的正确数据-
MAX(date)

我的查询返回最后一个日期,但数据不正确(即与以前的记录集关联的数据):


你能帮助我理解如何更正我的查询吗?

我认为这样做行不通

我认为你应该尝试以下方式:

select user_id, doc_docpath_00
from doc
where user_id = '90' and doc_uploadtimestamp = (
    select max(doc_uploadtimestamp)
    from doc where user_id = '90');

对但请注意,至少在mySql中,嵌套查询的速度可能非常慢。面对类似的问题,我用应用程序语言编写了两个独立的查询,一个用于提取max(),另一个用于将其反馈到新的querys where子句中。大桌子上的速度快得多,内存少得多
select user_id, doc_docpath_00
from doc
where user_id = '90' and doc_uploadtimestamp = (
    select max(doc_uploadtimestamp)
    from doc where user_id = '90');