[英]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 BY
和to_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.