Sql Oracle:创建给记录打分的查询(在查询中使用IF-ELSE)

Sql Oracle:创建给记录打分的查询(在查询中使用IF-ELSE),sql,oracle,Sql,Oracle,我应该用SUMIF之类的东西吗。。。sintax?IF是PL/SQL构造。它在SQL中不可用 根据您试图解决的问题,您可以通过案例陈述执行类似的操作 SELECT col1, SUM( CASE WHEN col2 = 'A' THEN 1 ELSE 0 END) num_with_col2_of_A FROM some_table GROUP BY col1 在sql查询中不能使

我应该用SUMIF之类的东西吗。。。sintax?

IF是PL/SQL构造。它在SQL中不可用

根据您试图解决的问题,您可以通过案例陈述执行类似的操作

SELECT col1,
       SUM( CASE WHEN col2 = 'A'
                 THEN 1
                 ELSE 0
             END) num_with_col2_of_A
  FROM some_table
 GROUP BY col1

在sql查询中不能使用if-else

更好的用例。。当声明。。这会解决你的问题


假设您可以使用PL/SQL:If您只需要像If。。。你还可以使用其他构造

其中“第一个值”是您的IF,“第二个值”是您的ELSE,0是您的默认分数

SELECT DECODE(col1, 'first value', 1, 'second value' 2, 0) FROM dual