组合两个SQL查询,一个涉及GROUPBY?
我想将这两个SQL查询合并为一个组合两个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
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列。你认为呢?你能发布样本数据和期望的输出吗