0

クエリの出力をフォーマットする際に問題に直面しています:

  SELECT i.product AS "Product Line",
  COUNT(i.incident_id) "Count Of Tickets",
  TRUNC((SUM(NVL(RSSEC,0) - NVL(WCTSEC,0))/COUNT(i.incident_id)) / 86400)
  || ':'
  || TRUNC(MOD(((SUM(NVL(RSSEC,0) - NVL(WCTSEC,0))/COUNT(i.incident_id)) / 3600),24))
  || ':'
  || TRUNC(MOD(((SUM(NVL(RSSEC,0) - NVL(WCTSEC,0))/COUNT(i.incident_id)) / 60),60))
  || ':'
  || TRUNC(MOD((SUM( NVL(RSSEC,0) - NVL(WCTSEC,0))/COUNT(i.incident_id)),60)) AS "MTTR"
FROM info i; 

RSSEC-Total RSeconds(タイプ番号)
WCTSEC- Total WSeconds(タイプ番号)

現在の出力:
TTPLL 8 2:4:0:18
ASDASDADD 1 0:0:9:0
航空自衛隊 2 0:0:0:8
エルテウ 4 0:3:0:46
期待される出力:
TTPLL 8 02:04:00:18
ASDASDADD 1 00:00:09:00
航空自衛隊 2 00:00:00:08
エルテウ 4 00:03:00:46

上記のフォーマットを達成するために誰かが私を助けることができますか?

切り捨て位置以外の出力形式を超える代替ソリューションについて教えてください。

前もって感謝します、

4

1 に答える 1

0

これがどのRDBMSか分からないので推測ですが、これはどうでしょうか?

  SELECT i.product AS "Product Line",
  COUNT(i.incident_id) "Count Of Tickets",
  RIGHT('0' || TRUNC((SUM(NVL(RSSEC,0) - NVL(WCTSEC,0))/COUNT(i.incident_id)) / 86400), 2)
  || ':'
  || RIGHT('0' || TRUNC(MOD(((SUM(NVL(RSSEC,0) - NVL(WCTSEC,0))/COUNT(i.incident_id)) / 3600),24)), 2)
  || ':'
  || RIGHT('0' || TRUNC(MOD(((SUM(NVL(RSSEC,0) - NVL(WCTSEC,0))/COUNT(i.incident_id)) / 60),60)), 2)
  || ':'
  || RIGHT('0' || TRUNC(MOD((SUM( NVL(RSSEC,0) - NVL(WCTSEC,0))/COUNT(i.incident_id)),60)), 2) AS "MTTR"
FROM info i; 
于 2012-09-25T11:33:48.007 に答える