加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MySql > 正文

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

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

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

(编辑:安卓应用网)

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

    推荐文章
      热点阅读