Mysql 如何从左侧外部联接检索最大日期?

Mysql 如何从左侧外部联接检索最大日期?,mysql,sql,Mysql,Sql,我有两张桌子,分别是总部和客户 客户单位总部: 身份证 客户: id,总部id,clentname,t已创建 我想显示所有的总部,并与每个总部一起显示“最近”的客户机(ts_创建的),如果它存在,则在其位置上显示一个空白。我希望所有这些都按总部分类,在底部没有客户、老客户和最新客户 有人能帮我查询吗?类似 SELECT client_headquarter.id, max(clients.tscreated) FROM client_headquarter LEFT OUTER JOIN cl

我有两张桌子,分别是总部和客户

客户单位总部: 身份证

客户: id,总部id,clentname,t已创建

我想显示所有的总部,并与每个总部一起显示“最近”的客户机(ts_创建的),如果它存在,则在其位置上显示一个空白。我希望所有这些都按总部分类,在底部没有客户、老客户和最新客户

有人能帮我查询吗?

类似

SELECT client_headquarter.id, max(clients.tscreated)
FROM client_headquarter 
LEFT OUTER JOIN clients ON clients.headquarterid = client_headquarter.id
GROUP BY client_headquarter.id
ORDER BY MAX(clients.tscreated) ASC
> select chq.id, count(clientname), max(tscreated) from clients c
> left outer join client_headquarter chq on c.hearquarterid = chq.id
> group by chq.id
> order by count(clientname) DESC, max(tscreated) DESC
如果多个客户端具有相同的创建日期,这将为单个总部创建多行。如果这是不可取的,那么必须定义和实施一些明确的方法来区分胜利者

select 
    ch.id as [Headquarter ID],
    c.clientname as [Most Recent Client Name],
    c.tscreated as [Date Created]
from 
    client_headquarter ch
    left join 
    (select 
        headquarterid,
        max(tscreated)
    from
        clients
    group by
        headquarterid
    ) recent on recent.headquarterid = ch.id
    left join clients c on c.headquarterid = ch.headquarterid and c.tscreated = recent.tscreated
order by
    c.tscreated