SQL 想实现两列相除的功能,但不知道为什么报错说子查询超过一行

SQL 想实现两列相除的功能,但不知道为什么报错说子查询超过一行,第1张

除法的两个 *** 作数必须是个单值, 不能是两个结果集合

用这个试试:

SELECT country, a/b AS rate

FROM

(

    SELECT country

        , SUM(CASE WHEN click_id!='NULL' THEN 1 ELSE 0 END) AS a

        , COUNT(1) AS b

    FROM ad_data.record

    GROUP BY country

)

另外, 判断是否为NULL的, 应该是 xxx IS NULL , 你那个id如果就是写了个字符串的'NULL'那就那么写, 如果是数据库里的空值, 把它改成 click_id IS NOT NULL

除法直接放在里头, 不用子查询好像也可以, 我不太记得了, 你自己鼓捣一下看看

EXCEL中除法计算错误的原因:

1.可能是除法公式的问题,需要检查一下除数是否为0,或者除数是否指向了一个空单元格以及包含空单元格的单元格;

2.可能是在函数或公式中没有可用数值时产生的错误,此时需更改或填充错误数据的单元格。

为了尽快找到公式中出现的错误,可以按以下步骤进行检查:

1.看所有圆括号是否都成对出现;

2.检查是否已经输入了所有必选的乘数;

3.在函数中输入函数嵌套时是否没有超过等级;

4.引用的工作簿或工作表名称中包含非字母字符时是否用了单引号括起来;

5.每一个外部引用包含的工作簿的名称及路径是否正确;

6.在公式中输入数字时是否没有为它们设置格式等。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9936230.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存