我有兩個來自同一個表的查詢,但有兩個條件,但是如何爲這兩個條件計數創建兩列。我怎樣才能從兩個查詢從同一個表中創建兩列
SELECT Count(*) FROM TBL_FT WHERE STATUS = 'X';
SELECT Count(*) FROM TBL_FT WHERE STATUS = 'Y' and
LOGDATE>trunc(sysdate);
我有兩個來自同一個表的查詢,但有兩個條件,但是如何爲這兩個條件計數創建兩列。我怎樣才能從兩個查詢從同一個表中創建兩列
SELECT Count(*) FROM TBL_FT WHERE STATUS = 'X';
SELECT Count(*) FROM TBL_FT WHERE STATUS = 'Y' and
LOGDATE>trunc(sysdate);
可以使用條件彙總:
SELECT
COUNT(CASE WHEN STATUS = 'X' THEN 1 END),
COUNT(CASE WHEN STATUS = 'Y' AND LOGDATE > trunc(sysdate) THEN 1 END)
FROM TBL_FT
您還可以添加一個WHERE
條款:
WHERE STATUS IN ('X', 'Y');
你可以使用這樣的事情 -
SELECT SUM(CASE
WHEN STATUS = 'X' THEN
1
ELSE
0
END) FIRST_VAL,
SUM(CASE
WHEN STATUS = 'Y'
AND LOGDATE > TRUNC(SYSDATE) THEN
1
ELSE
0
END) second_val
FROM TBL_FT;
哎呀我的壞..更正..謝謝@a_horse_with_no_name –
採取長執行時間 – user2767633
嘗試添加t他在WHERE條款。 –