Re: [SQL ] 查詢當日每小時產量統計表

看板Database (資料庫)作者 (天之翼)時間4年前 (2020/07/24 14:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
資料庫名稱:oracle sql 資料庫版本: 內容/問題描述: 主要問題有二 一 欄位一 時間區間以 當日每小時 做間隔,不知道有沒有時間函數可以處理? 目前想到 以 CASE 作條件輸出 ; WITH 做虛擬表格 查詢 ; 製作 VIEW 觀視表 (和WITH 一樣) 二 達成率希望做個別統計 EX: 07:00 產量/100 ; 08:00 產量/50 主要卡在問題一的時間區隔處理, 沒有其他資料表有相關欄位可以做 JOINT 或 子查詢 請大家幫幫忙 資料表 G_SN_TRAVEL 欄位 OUT_PROCESS_TIME (DATE 機台過站時間戳記) 希望輸出查詢統計表如下 欄位一 欄位二 欄位三 CLOCK_TIME QTY(產量) RATE(達成率) 07:00 XXX XX % 08:00 XXX XX % 09:00 XXX XX % =========================================================================== 自己的文章自己回不符版規就砍吧! 感謝 hwChang 大的提醒 提供問題的完整解答回饋給同樣是新手的大家 WITH SUM_DATE_QTY(TIME_CLOCK,QTY) AS ( SELECT TO_CHAR(A.OUT_PROCESS_TIME,'HH24'), COUNT(A.OUT_PROCESS_TIME) FROM SAJET.G_SN_TRAVEL A WHERE A.PROCESS_ID = '100032' AND to_char(A.OUT_PROCESS_TIME,'YYYYMMDD') = TO_CHAR(SYSDATE,'YYYYMMDD') GROUP BY TO_CHAR(A.OUT_PROCESS_TIME,'HH24') ORDER BY TO_CHAR(A.OUT_PROCESS_TIME,'HH24') ASC ) SELECT TIME_CLOCK || ':00~59' "TIME_CORD", QTY, (CASE TIME_CLOCK WHEN '07' THEN ROUND((QTY/120)*100,2) WHEN '08' THEN ROUND((QTY/100)*100,2) WHEN '09' THEN ROUND((QTY/120)*100,2) WHEN '10' THEN ROUND((QTY/100)*100,2) WHEN '11' THEN ROUND((QTY/120)*100,2) WHEN '12' THEN ROUND((QTY/60)*100,2) WHEN '13' THEN ROUND((QTY/120)*100,2) WHEN '14' THEN ROUND((QTY/120)*100,2) WHEN '15' THEN ROUND((QTY/100)*100,2) WHEN '16' THEN ROUND((QTY/120)*100,2) WHEN '17' THEN ROUND((QTY/60)*100,2) WHEN '18' THEN ROUND((QTY/120)*100,2) WHEN '19' THEN ROUND((QTY/120)*100,2) WHEN '20' THEN ROUND((QTY/120)*100,2) END)||'%' "RATE" FROM SUM_DATE_QTY -- 從表象看起來我是個沒啥事的閒人╭(─╴─)╮ 其實我的真實身份是............研究僧 研究如何將自己脫離去死團方法.........................Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.86.175 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1595570448.A.B82.html
文章代碼(AID): #1V6daGk2 (Database)
文章代碼(AID): #1V6daGk2 (Database)