当前位置:优学网  >  在线题库

select查询中包含COUNT的SQL条件

发表时间:2022-07-21 00:48:33 阅读:179

在下面的SQL查询中,我想显示因子计数是否大于一个select NULL else返回因子.

SELECT 
    CASE 
        WHEN COUNT(factor) > 1 
            THEN NULL
        ELSE factor
    END
FROM
    TABLE 
WHERE 
    ColumnA = '1'
    AND ColumnB = '2';

然而,我得到了这个错误:

在此处输入图像描述

已编辑

如果我们按如下方式使用它,它工作得很好,然而,我需要在else部分使用因子,在if部分使用Null

SELECT 
    CASE 
       WHEN COUNT(factor) > 1 
           THEN 'A'
           ELSE 'B'
    END
FROM 
    TABLE 
WHERE 
    ColumnA = '1'
    AND ColumnB = '2';
🎖️ 优质答案
  • 不能在一个表达式中使用COUNT(因子)和factor,请尝试聚合,mox(因子)或min(因子)应相同...

    SELECT 
       CASE WHEN COUNT(factor) > 1 
       THEN 
          NULL
       ELSE 
          MAX(factor)
       END
    FROM TABLE 
    WHERE ColumnA = '1'
    AND ColumnB = '2';
    

    但是错误消息不合适,它应该是&gt ORA-00937:不是单个组函数

    db小提琴

  • 相关问题