有人可以为我指出正确的方向吗? ...
我有两个桌子。第一个带有客户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;
我被困住了。我需要了解什么?
答案 0 :(得分:1)
您可以使用group by
和max()
来获得最新呼叫的客户。当客户从未致电时,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