Mysql 加入;列出每个ID的最后记录

Mysql 加入;列出每个ID的最后记录,mysql,Mysql,有两个表格: SELECT id,customer FROM records; SELECT user_id,call_date FROM call_history 匹配列包括: records.id = call_history.user_id call\u history表中有客户的通话记录。 每个客户可以有一个或多个呼叫历史记录行 我需要找到他们上次打电话的时间(针对每位客户) 例如,userid=1调用了两次,分别是6月16日和7月20日。结果必须是7月20日,但我需要对记录表中的所

有两个表格:

SELECT id,customer FROM records;
SELECT user_id,call_date FROM call_history
匹配列包括:

records.id = call_history.user_id
call\u history
表中有客户的通话记录。 每个客户可以有一个或多个
呼叫历史记录

我需要找到他们上次打电话的时间(针对每位客户)

例如,
userid=1
调用了两次,分别是6月16日和7月20日。结果必须是7月20日,但我需要对记录表中的所有客户执行相同的操作

这是我尝试过的,但没有成功:

SELECT a.id, FROM_UNIXTIME(b.call_date,'%d/%m/%Y %H:%i') AS lastcall
FROM records a
INNER JOIN call_history b ON a.id=b.user_id
GROUP BY a.id ORDER BY b.call_date DESC;

谢谢。

这符合您的要求吗

SELECT
    r.id,
    r.customer,
    MAX(ch.call_date) AS lastcall
FROM
    records AS r
INNER JOIN
    call_history AS ch ON ch.user_id = r.id
GROUP BY
    r.id,
    r.customer

确实如此。非常感谢你。