0

次の 2 つのテーブルがあります。

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

一致する列は次のとおりです。

records.id = call_history.user_id

テーブルには、顧客のcall_history通話ログがあります。顧客ごとに 1 つ以上のcall_history行が存在する可能性があります。

彼らが最後に電話したのはいつかを見つける必要があります(顧客ごとに)。

例のために。userid=16 月 16 日と 7 月 20 日の 2 回呼び出されました。結果は 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 に答える