本文共 737 字,大约阅读时间需要 2 分钟。
PG聚合操作中的filter子句是ANSI SQL标准中的关键字,并非PostgreSQL的专用SQL关键字。以下是关于如何从1960年至2018年中提取中国、美国、日本、法国、德国和加拿大每隔十年的GDP平均值的SQL查询示例。
select country_name, sum(case when year >= 1960 and year < 1970 then gdp else null end) as "1960~1969", sum(case when year >= 1970 and year < 1980 then gdp else null end) as "1970~1979", sum(case when year >= 1980 and year < 1990 then gdp else null end) as "1980~1989", sum(case when year >= 1990 and year < 2000 then gdp else null end) as "1990~1999", sum(case when year >= 2000 then gdp else null end) as "2000~至今"from country_gdp_year_finalwhere country_code in('CHN','JPN','USA','FRA','DEU','CAN'); 以上查询通过case when语句实现了对年份段的聚合运算,将每个时期的GDP值相加,并通过列名表示对应的时间范围。country_code字段指定了需要统计的国家和地区代码。
转载地址:http://kixfk.baihongyu.com/