这是我的以下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的人,请你修改我的查询并发布.
我发现时间戳的平均值很难处理.
您可以借助AVG聚合功能完成此操作.但这还不够.首先,您必须将TIMESTAMP转换为数字,然后使用AVG功能.
从手册 - SUM()和AVG()聚合函数不适用于时间值.(它们将值转换为数字,在第一个非数字字符后丢失该部分.)要解决此问题,您可以转换为数字单位,执行聚合操作,然后转换回时间值.
所以,尝试这样的事情 -
SELECT
FROM_UNIXTIME(AVG(UNIX_TIMESTAMP(endtime)))
FROM
...
...
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4232 次 |
| 最近记录: |