簡體   English   中英

SQL-解析數據

[英]SQL- parse data

我正在創建一個測試自動化“健康頁面”

在此頁面上,我想顯示有多少測試以 PASS/FAIL/UNDEFINED 狀態結束的 7 天趨勢。 我在 Oracle Application Express 中執行此操作。 我希望圖表看起來像這樣: 在此處輸入圖像描述

但是我不知道如何將結果分成幾天。 這是我的計數查詢:

select  
                sum (case when STATES.NAME='Pass'then 1 else 0 end) AS PASS,
                sum (case when STATES.NAME='Fail'then 1 else 0 end) AS FAIL, 
                sum (case when STATES.NAME='Undefined'then 1 else 0 end) AS Undefined
          
from TEST_CASE TEST
INNER JOIN TEST_CASE_TEST_RUN  TESTRUNCASE on TEST.TEST_CASE_ID=TESTRUNCASE.TEST_CASE_ID
INNER JOIN TEST_RUN RUN on TESTRUNCASE.TEST_RUN_ID=RUN.TEST_RUN_ID
INNER JOIN EXECUTION EXE on TESTRUNCASE.TEST_CASE_IN_TEST_RUN_ID=EXE.TEST_CASE_IN_TEST_RUN_ID 
LEFT JOIN TEST_STEP_STATE STATES  on STATES.TEST_STEP_RESULT_STATE_ID=EXE.TEST_STEP_RESULT_STATE_ID
where  actual_Start_date > sysdate -7
;

這是查詢的結果:

在此處輸入圖像描述

如何更改查詢以提供第 1 天、第 2 天、第 3 天等的結果(如果它還以“DD-MM”格式顯示縮短的日期版本,我可以)?

to_char(EXE.ACTUAL_END_DATE,'DD-MM') 作為 DAY,

您可以使用GROUP BYto_char(actual_Start_date,'d')將返回 1 - 7

select  
     to_char(actual_Start_date ,'d')  as days,
                sum (case when STATES.NAME='Pass'then 1 else 0 end) AS PASS,
                sum (case when STATES.NAME='Fail'then 1 else 0 end) AS FAIL, 
                sum (case when STATES.NAME='Undefined'then 1 else 0 end) AS Undefined
          
from TEST_CASE TEST
INNER JOIN TEST_CASE_TEST_RUN  TESTRUNCASE on TEST.TEST_CASE_ID=TESTRUNCASE.TEST_CASE_ID
INNER JOIN TEST_RUN RUN on TESTRUNCASE.TEST_RUN_ID=RUN.TEST_RUN_ID
INNER JOIN EXECUTION EXE on TESTRUNCASE.TEST_CASE_IN_TEST_RUN_ID=EXE.TEST_CASE_IN_TEST_RUN_ID 
LEFT JOIN TEST_STEP_STATE STATES  on STATES.TEST_STEP_RESULT_STATE_ID=EXE.TEST_STEP_RESULT_STATE_ID
where  actual_Start_date > sysdate -7
GROUP BY 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM