我有大量数据需要在检索时分类到不同的组中。每组都有不同的条件。我不想单独检索它们。我想使用单个sql语句知道每个组中的项目数。
例如,伪代码将是这样的:
Select count(IssueID) as Issue1_Count if(condition1),
count(IssueID) as Issue2_Count if(condition2),
count(IssueID) as Issue3_Count if(condition3)
From table1, table2, tabl3
where common_condition1 and common_Condition2;
有人可以帮我制作一个Oralce查询......
答案 0 :(得分:12)
这样说:
SELECT
SUM(CASE WHEN condition1 THEN 1 ELSE 0 END) as Issue1_Count,
SUM(CASE WHEN condition2 THEN 1 ELSE 0 END) as Issue2_Count,
SUM(CASE WHEN condition3 THEN 1 ELSE 0 END) as Issue3_Count,
FROM
table1, table2, tabl3
WHERE
common_condition1 and common_Condition2;
答案 1 :(得分:0)
Oracle的CASE声明应该可以帮到你。看看这个:http://www.dba-oracle.com/t_case_sql_clause.htm
虽然有限制,所以我不是100%肯定你可以完全按照你在这里使用它们。