我的查询中的时间戳/日期时间的平均值?请帮忙?

Adv*_*ait 0 mysql sql

这是我的以下sql查询.

   select a.job_name,endtime,to_char(endtime,'HH24:MI:SS') as endtime_1
   from OPTOOLS.R11_JOB_PROD_VW a, OPTOOLS.R11_JOB_RUNS_PROD_VW b 
   where 
   a.joid=b.joid and a.job_name in ('hh_p_hkc_isrs_gim_trd_ld_bx') and rownum <= 30
   and status = 'SUCCESS'
   order by endtime desc;
Run Code Online (Sandbox Code Playgroud)

请帮我查一下上述查询的结束时间的平均值.我急需这个.任何一个擅长sql的人,请你修改我的查询并发布.

我发现时间戳的平均值很难处理.

Dev*_*art 5

您可以借助AVG聚合功能完成此操作.但这还不够.首先,您必须将TIMESTAMP转换为数字,然后使用AVG功能.

从手册 - SUM()和AVG()聚合函数不适用于时间值.(它们将值转换为数字,在第一个非数字字符后丢失该部分.)要解决此问题,您可以转换为数字单位,执行聚合操作,然后转换回时间值.

所以,尝试这样的事情 -

SELECT
  FROM_UNIXTIME(AVG(UNIX_TIMESTAMP(endtime)))
FROM
  ...
  ...
  ...
Run Code Online (Sandbox Code Playgroud)