gpt4 book ai didi

SQL 计数不存在的项目

转载 作者:行者123 更新时间:2023-11-29 11:39:44 25 4
gpt4 key购买 nike

我有表格组,

ID  NUMBER
STATUS VARCHAR2(20 BYTE)

我可以按以下方式计算状态数。

select g.status, count(*) from groups g group by g.status;

STATUS COUNT(*)
-------------------- ----------
OK 2
NOK 1

我有另一个状态,比如 PENDING、REJECTED。但是表中不存在任何项目,但我希望它们显示为零,如下所示。

STATUS                 COUNT(*)
-------------------- ----------
OK 2
NOK 1
PENDING 0
REJECTED 0

使之成为可能的 SQL 语句是什么?

最佳答案

试试这个

SELECT A.status, COUNT(DISTINCT G.ID) statusCnt
FROM (SELECT 'OK' status FROM DUAL
UNION
SELECT 'NOK' status FROM DUAL
UNION
SELECT 'PENDING' status FROM DUAL
UNION
SELECT 'REJECTED' status FROM DUAL
) AS A
LEFT JOIN groups G ON A.status = G.STATUS
GROUP BY A.status;

关于SQL 计数不存在的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20655636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com