加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2020-12-11 23:36:53 所属栏目:MySql教程 来源:网络整理
导读:我有DB表,用IP列和DateTime标记记录请求.我试图以一种让我计算某个IP发出请求的天数的方式来获取这些数据.我正在使用Laravel的查询构建器. 到目前为止,这就是我所拥有的: $data = DB::table('requests') -groupBy('ip') -select('ip',DB::raw('COUNT(DISTIN

我有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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读