我有两个来自同一个表的查询,但有两个条件,但是如何为这两个条件计数创建两列。我怎样才能从两个查询从同一个表中创建两列
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条款。 –