mysql查询帮助(根据时间戳选择最新更新)

Syl*_*rXS 1 mysql sql

我正在努力选择数据库中的数据,我不知道如何继续.

我需要选择最新的更新

我的表看起来像这样:

datatable: userid, userinfo, updated (timestamp);
usertable: userid, username, realname, email, userNumber, Org, SN, Dept.
Run Code Online (Sandbox Code Playgroud)

每个用户的数据表中可以有多个条目.对于此查询,我只需要来自datatable的每个用户的最新条目:

SELECT datatable.userid, 
       datatable.userinfo, 
       datatable.updated, 
       usertable.username 
  FROM datatable 
  JOIN usertable ON datatable.userid = usertable.userid 
 WHERE (....)
Run Code Online (Sandbox Code Playgroud)

OMG*_*ies 6

使用:

SELECT d.userid, 
       d.userinfo, 
       d.updated, 
       u.username 
  FROM datatable d
  JOIN usertable u ON u.userid = d.userid
  JOIN (SELECT t.userid,
               MAX(t.updated) AS max_updated
          FROM DATATABLE t
      GROUP BY t.userid) x ON x.userid = d.userid
                          AND x.max_updated = d.updated
Run Code Online (Sandbox Code Playgroud)