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