sql查询以获得最新的调用

时间:2019-05-28 17:42:25

标签: mysql sql

有人可以为我指出正确的方向吗? ...

我有两个桌子。第一个带有客户ID和客户名称。第二个带有客户ID和打给客户的日期。我使用LEFT JOIN来获取每个客户的清单,其中包括所有打给他的电话。像这样:

1, Max Mustermann, 2019-05-22
1, Max Mustermann, 2019-05-20 (<- I don't want this row to appear.)
2, Ilse Meier, 

我也使用LEFT JOIN来吸引客户而没有打来电话。

现在我只希望最近一次通话获得这个结果。

一个电话(获取最新电话)我可以做:

  

SELECT * FROM呼叫ORDER BY call_date DESC LIMIT 1;

我被困住了。我需要了解什么?

1 个答案:

答案 0 :(得分:1)

您可以使用group bymax()来获得最新呼叫的客户。当客户从未致电时,NULL中将有Maxdateofcall

select 
     t1.customerid
    ,t1.customername
    ,max(t2.dateofcall) as Maxdateofcall
from table1 t1 left join table1 t2 on t1.customerid = t2.customerid
group by t1.customerid ,t1.customername


1, Max Mustermann, 2019-05-22
2, Ilse Meier, null