组合两个SQL查询,一个涉及GROUPBY?

组合两个SQL查询,一个涉及GROUPBY?,sql,Sql,我想将这两个SQL查询合并为一个 SELECT COUNT() as total_grants, SUM("CURRENT_AWARD") as total_spent FROM t; SELECT YEAR, COUNT(), SUM('CURRENT_AWARD') FROM t GROUP BY YEAR AS by_year; 第一个查询显示授予的总数和花费的总数。第二个是相同的,但按年份 这可能吗?在第一个查询中,我已经将两个查询合并为一个查询,但我不知道如何在第二个查询中正确使用A

我想将这两个SQL查询合并为一个

SELECT COUNT() as total_grants, SUM("CURRENT_AWARD") as total_spent FROM t;
SELECT YEAR, COUNT(), SUM('CURRENT_AWARD') FROM t GROUP BY YEAR AS by_year;
第一个查询显示授予的总数和花费的总数。第二个是相同的,但按年份

这可能吗?在第一个查询中,我已经将两个查询合并为一个查询,但我不知道如何在第二个查询中正确使用
AS
子句


谢谢你的帮助

如何使用
交叉连接

SELECT  YEAR, 
        COUNT(*), 
        SUM('CURRENT_AWARD') ,
        t2.total_grants,
        t2.total_spent
FROM    t 
        CROSS JOIN
        (
            SELECT  COUNT(*) as total_grants, 
                    SUM("CURRENT_AWARD") as total_spent 
            FROM    t
        ) t2
GROUP   BY YEAR;

也许是这样的

SELECT BY_YEAR, COUNT(), SUM('CURRENT_AWARD') FROM t GROUP BY rollup(by_year);
(我认为汇总可能依赖于rdbms/版本…

试试这个

SELECT YEAR, COUNT(*) as total_grants, SUM(CURRENT_AWARD) as total_spent 
FROM t
GROUP BY YEAR;
COUNT(*)
将统计表t中的所有行,包括
NULL的行。如果要忽略
NULL
的行,请对特定列进行计数。例如,
计数(当前\u奖励)


由于此标识符仅包含字母和下划线,因此您不需要在当前\u奖励前后加引号。

1查询有2列,其他3列。你认为呢?你能发布样本数据和期望的输出吗