有两个表:
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;
谢谢。
答案 0 :(得分: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