在 2 个不同的表上选择 COUNT 语句的 SUM

Selecting SUM of COUNT statements on 2 different tables

我想对不同表上的 2 个 COUNT 语句的 COUNT 值求和。 我试过了:

SELECT(
SELECT COUNT(*) FROM articlegroups 
UNION 
SELECT COUNT(*) FROM emails
) 
as t

我试过了:

SELECT(
SELECT COUNT(*) FROM articlegroups 
+
SELECT COUNT(*) FROM emails
) 
as t

我试过了:

SELECT SUM(
SELECT COUNT(*) FROM articlegroups 
+
SELECT COUNT(*) FROM emails
) 
as t

我不知道还能尝试什么...

您没有尝试:

SELECT SUM(cnt) as cnt FROM
(
    SELECT COUNT(*) as cnt FROM articlegroups 
    UNION ALL
    SELECT COUNT(*) as cnt FROM emails
) t

或者:

SELECT (SELECT COUNT(*) FROM articlegroups) + 
       (SELECT COUNT(*) FROM emails)  as cnt

您可以使用:

SELECT (SELECT COUNT(*) FROM articlegroups) + 
       (SELECT COUNT(*) FROM emails) AS cnt

如果articlegroupsemails可以为空,那么你也应该使用COALESCE:

SELECT COALESCE((SELECT COUNT(*) FROM articlegroups),0) + 
       COALESCE((SELECT COUNT(*) FROM emails),0) AS cnt