database - 多个值的结果子查询 - SQL

标签 database postgresql

当我向 QUERY 添加多个客户名称时,我从 SUBQUERY 得到反馈,但如果您只输入一个值,即使使用 IN 条件,QUERY 完美运行

查询失败

SELECT "CUSTOMER",
    ( ( ( ( CAST(COUNT(*) AS FLOAT) ) - (
        SELECT
            (CAST(COUNT(*) AS FLOAT))
        FROM
            public.tbl_metrics
        WHERE
            "CUSTOMER" IN (
                'CLIENT1','CLIENT2','CLIENT3'
            )
            AND "STATUS" = 'NOT_TESTED'
        GROUP BY
            "STATUS",
            "CUSTOMER"
    ) ) / CAST(COUNT(*) AS INT) ) * 100) as "PERCENT", count("STATUS") as "OK"
FROM
    public.tbl_metrics
WHERE
    "CUSTOMER" IN (
        'CLIENT1','CLIENT2','CLIENT3'
    )
    AND "STATUS" = 'NOK'
GROUP BY
    "STATUS",
    "CUSTOMER"

查询成功

SELECT "CUSTOMER",
    ( ( ( ( CAST(COUNT(*) AS FLOAT) ) - (
        SELECT
            (CAST(COUNT(*) AS FLOAT))
        FROM
            public.tbl_metrics
        WHERE
            "CUSTOMER" IN (
                'CLIENT1'
            )
            AND "STATUS" = 'NOT_TESTED'
        GROUP BY
            "STATUS",
            "CUSTOMER"
    ) ) / CAST(COUNT(*) AS INT) ) * 100) as "PERCENT", count("STATUS") as "OK"
FROM
    public.tbl_metrics
WHERE
    "CUSTOMER" IN (
        'CLIENT1'
    )
    AND "STATUS" = 'NOK'
GROUP BY
    "STATUS",
    "CUSTOMER"

最佳答案

不太清楚“获得反馈”是什么意思?我猜你的子查询返回多行(因为内部查询分组多个客户 = 多个结果)。

我建议从一个更简单的版本开始,让它运行起来,然后添加额外的计算(即百分比)。这是一个粗略的入门查询(不保证这会起作用,因为我无权访问您的表并且我猜测这是您希望完成的)。

SELECT met."CUSTOMER",
    ( SELECT COUNT(*)
        FROM
            public.tbl_metrics innerMet
        WHERE
            innerMet."CUSTOMER"= met."CUSTOMER"
            AND "STATUS" = 'NOT_TESTED'
    ) as "NOT_TESTED", count("STATUS") as "OK"
FROM
    public.tbl_metrics met
WHERE
    met."CUSTOMER" IN (
        'CLIENT1','CLIENT2','CLIENT3'
    )
    AND met."STATUS" = 'NOK'
GROUP BY
    met."STATUS",
    met."CUSTOMER"

关于database - 多个值的结果子查询 - SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59039116/

相关文章:

python - 在使用 postgres 和 Gunicorn+Nginx 作为反向代理的 Django 应用程序中出现“类型 inet 的输入语法无效”数据库错误

ruby-on-rails - 可以在创建或更新后自动重新加载实例吗?

python - 从 odoo 网站点击按钮存储数据

sql - 甲骨文 |删除表

sql - 丢弃该组中不是 MAX 的行

python - psycopg2 在 centOS 上安装失败

sql - PostgreSQL 中的类别代码是什么?

sql - 如何在SSIS中同步两个表

php - 如何从xampp连接到网站的数据库

ruby-on-rails - 如何对 mongodb/mongoid 脚本进行基准测试,以比较两种不同的查询技术