【问题标题】:PHP - Get Average Handling Time (AHT) from mySQLi DatabasePHP - 从 mySQLi 数据库获取平均处理时间 (AHT)
【发布时间】:2019-02-20 21:21:51
【问题描述】:

我关注this 尝试从我的数据库中获取 AHT。

所以,数据库结构是:

 _____________________________________________________________________________________
|                                                                                     |
|     ticketid    tecnico_id        time_at      visit_hour_in     visit_hour_out     |
|_____________________________________________________________________________________|
|        1             3             08:15            16:03            17:00          |
|        2             7             10:45            11:03            13:00          |
|        3             9             08:05            12:03            14:00          |
|        4             6             08:43            12:03            13:30          |
|        5            10             13:30            14:03            15:45          |
|_____________________________________________________________________________________|

因此,我想通过tecnico_id 获得平均处理时间。

我试过了:

SELECT tecnico_id,
  AVG((time_at) - (visit_hour_in)) AS responseTime,
  AVG((visit_hour_in) - (visit_hour_out)) AS activityTime,
  AVG((time_at) - (visit_hour_out)) AS handlingTime
FROM `ticket` GROUP BY tecnico_id ORDER BY `ticket`.`tecnico_id` ASC

它输出这个:

 ___________________________________________________________________________
|                                                                           |
|        tecnico_id     responseTime    activityTime        handlingTime    |
|___________________________________________________________________________|
|        3                    0              0                    0         |
|        5                 13.6              0                  13.6        |
|        6      5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        7      5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        8      5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        9      5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        10     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        11     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        18     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        19     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        20     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        21     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        22     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        23     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|        24     5.791946308724833  -0.37583892617449666   5.416107382550336 |
|___________________________________________________________________________|

5.791946308724833-0.375838926174496665.416107382550336不再重复,我只是不想格式化表格。

要将其转换为小时、分钟和秒,我使用gmdate('H:i:s', '5.791946308724833'),(作为示例),但是......结果并不准确,因为它们应该是。我需要做的,是获取这些字段之间的差异,然后获取平均值,所以我可以说,例如:

tecnico_id 的#3 responseTime 是 02 小时 3 分钟,他的活动时间是 0 小时 48 分钟,他的每张票的 AHT 是 3 小时 0 分钟。

我怎样才能做到这一点?

【问题讨论】:

    标签: mysql sql time average


    【解决方案1】:

    解决这个问题的方法其实很简单。我使用此查询使其工作。

    SELECT tecnico_id, COUNT(tecnico_id) as cantidad_tecnico ,
     SUM(TIMESTAMPDIFF(MINUTE,convert(time_at,time),convert(visit_hour_in, time))) as tiempo, 
     (TIMESTAMPDIFF(MINUTE,convert(time_at,time),convert(visit_hour_in, time))/COUNT(tecnico_id)) as promedio
    FROM ticket group by tecnico_id asc
    

    【讨论】:

      猜你喜欢
      • 2014-01-11
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 2016-05-07
      相关资源
      最近更新 更多