php – 从MySQL中的DateTime计算不同的天数

前端之家收集整理的这篇文章主要介绍了php – 从MySQL中的DateTime计算不同的天数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有DB表,用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

猜你在找的MySQL相关文章