2

私は通話記録の表を持っています。毎日何人の人が初めて電話をかけたかを毎日知る必要があります。

注: 彼らは選択した日に電話をかけましたが、その日の前には電話をかけませんでした。私はこれを機能させることができました。

SELECT * FROM call_history GROUP BY caller_id HAVING SUBSTR(MIN(call_date), 1, 10) = SUBSTR(NOW(), 1, 10) 

このクエリは、今日 (または NOW の代わりに入力した任意の日付) に電話をかけたが、以前に電話したことのないすべての人を提供します。

結果は次のようになります。

2013-01-01, 10 new callers
2013-01-01, 15 new callers
2013-01-01, 22 new callers
2013-01-01, 4 new callers

等々....

ありがとうございました!

4

2 に答える 2

4

これはあなたが探しているものに最も適していると思います。

内側のクエリは発信者ごとに最初の通話日を取得し、外側のクエリはそれらを通話日ごとに発信者にグループ化します。

SELECT first_call_date, COUNT(caller_id) AS caller_count
FROM (
    SELECT caller_id, DATE(MIN(call_date)) AS first_call_date
    FROM call_history 
    GROUP BY caller_id
) AS ch
GROUP BY first_call_date
于 2013-06-15T13:34:01.123 に答える