mysql - 如何获取过去7天的总用户平均时间

标签 mysql laravel phpmyadmin

我想获得过去 7 天的每天总用户平均使用时间,我为每个用户平均时间编写了 SQL,它非常完美,但我在 LARAVEL SQL 函数中遇到了问题,请帮助修复此 SQL。

$currentTime = Carbon::today();

    $userUsage = DB::table('active_user')
                ->select(DB::raw('acu_name as name'),
                    DB::raw('u_fname as fname'),
                    DB::raw('AVG(TIMESTAMPDIFF(MINUTE,acu_at,acu_et)) as averageTime'),
                    DB::raw('count(*) as number'))
                ->join('u_info_one', 'active_user.acu_name', '=', 'u_info_one.u_email')
                ->whereDate('acu_at', '<=', $currentTime)
                ->groupBy('acu_name')
                ->get();

enter image description here

最佳答案

为此,您需要使用GROUP BY,例如:

$userUsage = DB::table('active_user')
                ->select(DB::raw('acu_name as name'),
                    DB::raw('u_fname as fname'),
                    DB::raw('AVG(TIMESTAMPDIFF(MINUTE,acu_at,acu_et)) as averageTime'),
                    DB::raw('count(*) as number'))
                ->join('u_info_one', 'active_user.acu_name', '=', 'u_info_one.u_email')
                ->whereDate('acu_at', '<=', $currentTime)
                ->groupBy('acu_name', DB::raw('DATE(acu_at)'))
                ->get();

更新

如果您只需要所有用户的每日平均值,您可以从分组依据中删除acu_name,例如:

$userUsage = DB::table('active_user')
                ->select(DB::raw('acu_name as name'),
                    DB::raw('u_fname as fname'),
                    DB::raw('AVG(TIMESTAMPDIFF(MINUTE,acu_at,acu_et)) as averageTime'),
                    DB::raw('count(*) as number'))
                ->join('u_info_one', 'active_user.acu_name', '=', 'u_info_one.u_email')
                ->whereDate('acu_at', '<=', $currentTime)
                ->groupBy(DB::raw('DATE(acu_at)'))
                ->get();

关于mysql - 如何获取过去7天的总用户平均时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54901997/

相关文章:

php - 在 Magento 中更改国家/地区名称

mysql - 需要正确的语法来连接多个表

php - 从数据库中选择项目与另一个表中的最新日期进行比较

mysql - 如何在 laravel 查询中的 WHERE 中使用 OR

php - 在页面上显示新记录数

mysql - 从 MySQL 查询生成数据库架构图的工具

php - 如何使用 SHOW DATABASE LIKE 语句获取查询?

laravel - 使用 Composer.json 文件

php - 在 Laravel 中获取服务提供者内部的当前路线

php - 从 PHPMyadmin 导出 int 作为 json