IP 列と DateTime スタンプを使用してリクエストをログに記録する DB テーブルがあります。特定の IP がリクエストを行った日数をカウントできるように、このデータを取得しようとしています。Laravel のクエリビルダーを使用しています。
これまでのところ、これは私が持っているものです:
$data = DB::table('requests')
->groupBy('ip')
->select('ip',
DB::raw('COUNT(DISTINCT created_at) as days'),
DB::raw('COUNT(*) as requests'))
->orderBy('days', 'desc')
->take(50)
->get();
私の問題は、タイムスタンプにも時間、分、秒が含まれていることです。したがって、「日数」のカウントは、リクエストの合計数とほぼ同じになります。アクティブな日数のみをカウントしたい。