我有数据库表,其中记录了带有IP列和DateTime标记的请求。我试图以某种方式获取此数据,以便让我计算某个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();
我的问题是时间戳记还包含小时,分钟和秒。因此,“天”数将与总请求数相同。我只想计算活动天数。
如果字段created_at
是TIMESTAMP:
COUNT(DISTINCT FROM_UNIXTIME(created_at, '%Y-%m-%d')) as days
或者,如果字段是DATETIME:
COUNT(DISTINCT DATE(created_at)) as days
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句