0

有两个表:

SELECT id,customer FROM records;
SELECT user_id,call_date FROM call_history

匹配的列是:

records.id = call_history.user_id

call_history表有客户的通话记录。call_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;

谢谢你。

4

1 回答 1

1

这符合您的要求吗?

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
于 2013-06-28T15:19:12.487 回答