Sql PIVOT查询未在OEM 13C中为我提供正确的输出

Sql PIVOT查询未在OEM 13C中为我提供正确的输出,sql,oracle,Sql,Oracle,我编写了一个PIVOT查询,以获取过去15天中系统和sysaux表空间的增长。查询没有给我正确的输出。它用E显示数字。我的企业经理verison在13C中,存储库数据库版本为12.1.0.2。如果有人能帮我,我将不胜感激。可能是我在转换到GB时出错了。请帮忙 with pivot_data AS ( select target_name, key_value, to_char(rollup_timestamp,'mm/dd/yy')as DT, average

我编写了一个PIVOT查询,以获取过去15天中系统和sysaux表空间的增长。查询没有给我正确的输出。它用E显示数字。我的企业经理verison在13C中,存储库数据库版本为12.1.0.2。如果有人能帮我,我将不胜感激。可能是我在转换到GB时出错了。请帮忙

with pivot_data AS (
         select target_name, key_value, to_char(rollup_timestamp,'mm/dd/yy')as DT, average
         from sysman.mgmt$metric_daily
         where target_TYPE in ('rac_database') AND KEY_VALUE in ('SYSTEM','SYSAUX') AND TARGET_NAME IN ('DBKUH','ETPUZ','ZLDFK')
and column_label = 'Tablespace Used Space (MB)'
         and trunc(rollup_timestamp) >= trunc(sysdate)-15)
    select * from pivot_data
    pivot
         ( sum(average/1024/1024/1024)
           for TARGET_NAME 
          in ( 'DBKUH' AS ETPUZ,'ETPUZ' AS ETPUZ,'ZLDFK' AS ZLDFK )
         )
  order by DT
/

您正在对标记为
'tablespaceusedspace(MB)
的列进行平均。我冒昧地猜测它的大小是MB,所以要转换成GB,只需除以1024一次

我注意到的其他事情:

  • 在PIVOT中,你是说“DBKUH”作为ETPUZ,还是说这是一个打字错误
  • 同样在PIVOT中,您将添加15个每日平均值。。。你是故意的吗 平均他们
  • trunc(timestamp)>=trunc(sysdate)-15
    到
    时间戳>=…
    ,后者将允许您使用索引 打开
    时间戳
    ,而前者不会打开

请学习如何使用格式化工具-这真的很简单。特别是格式化代码。很抱歉,伙计。是的,这些不是打字错误。@user3297431-我不明白,你是说
“DBKUH as ETPUZ
不是打字错误吗?在PIVOT?的输出中,您将得到两列名称均为
ETPUZ
。是的,那是个打字错误。