Mysql 如何获取每个用户的最新记录?

Mysql 如何获取每个用户的最新记录?,mysql,join,Mysql,Join,我有两个表,一个是登录,第二个是公司的详细信息。 以下是该表的结构。我试图在线添加SQL查询和表,但得到了错误帮助:near ENGINE:syntax error。所以我在下面加了它 登录 公司 我的问题是,我必须显示每个登录用户的最新记录。 我的预期产出是 company_id | company_name | content | size | date_of_added | login_id | username 4 | qwedrr | some

我有两个表,一个是登录,第二个是公司的详细信息。 以下是该表的结构。我试图在线添加SQL查询和表,但得到了错误帮助:near ENGINE:syntax error。所以我在下面加了它

登录

公司

我的问题是,我必须显示每个登录用户的最新记录。 我的预期产出是

company_id | company_name | content      | size | date_of_added | login_id | username
  4        | qwedrr       | some content | 16   | 2021-05-05    | 1        | abc
  6        | uwewe        | some content | 09   | 2021-05-05    | 2        | xyz
  5        | qwesd        | some content | 20   | 2021-05-05    | 3        | oiu

  and so on
我尝试了下面的查询,但是我得到了所有的记录

select l.*, c.*
from 
    login l
     left join company c 
        on  l.login_id = c.login_id
        and c.date_of_created  = (
            select max(date_of_created) 
            from company c1 
            where c1.company_id = c.company_id
        )

假设最新的id最大:

选择c1.*,login.username 来自c1公司 加入选择MAXc2.company\u id company\u id,c2.login\u id 来自c2连 按c2分组。登录id c3使用公司id、登录id 使用登录id加入登录
我必须显示每个登录用户的最后记录。最后是什么?是什么顺序提供的?@Akina,输入错误,我的意思是我在公司表中总共有6条记录,使用登录id我必须显示最新的记录。请再次检查我的预期输出-最新情况如何?通过表达式指定顺序,以便区分这一点。最常见的条件是日期,但所有添加值的日期都是相等的,而表达式必须为最新术语提供唯一性才能有意义。@Akina,我有一个日期和时间。您可以添加一个自动递增列,用于标识行并提供顺序吗?或者,也可以在date_of_added字段中添加一个时间组件,例如yyyy-mm-dd hh:mm:ss。否则就像@Akina所说的,不可能知道最新的条目是什么ambiguous@NarenVerma很抱歉编辑。
company_id | company_name | content      | size | date_of_added | login_id | username
  4        | qwedrr       | some content | 16   | 2021-05-05    | 1        | abc
  6        | uwewe        | some content | 09   | 2021-05-05    | 2        | xyz
  5        | qwesd        | some content | 20   | 2021-05-05    | 3        | oiu

  and so on
select l.*, c.*
from 
    login l
     left join company c 
        on  l.login_id = c.login_id
        and c.date_of_created  = (
            select max(date_of_created) 
            from company c1 
            where c1.company_id = c.company_id
        )