我尝试使用case语句,根据“降水量类型”中的值,将“数量”列拆分为两个新列(总降雨量和总降雪量之和),以查找一个城市一年的总降雨量和总降雪量。
select city
,(CASE precipitation_type WHEN 'rain' THEN total ELSE 0 END) AS "rainfall"
,(CASE precipitation_type WHEN 'snow' THEN total ELSE 0 END) AS "snowfall"
from
(select city, precipitation_type, sum(amount) as total
from precipitation
group by city, precipitation_type) a
group by city, a.precipitation_type, a.total
order by city asc;
我的当前输出如下所示:
Albany 0.00 48.51
Baltimore 0.00 0.00
Baltimore 0.00 27.11
Boston 0.00 0.00
Boston 41.12 0.00
Boston 0.00 32.28
我希望每个城市的总降雨量和总降雪量保持一致。前任:
Albany 38.54 48.51
Baltimore 40.97 27.11
Boston 41.12 32.28
2条答案
按热度按时间fdbelqdn1#
一个简单的条件聚合应该返回您期望的输出。虽然您没有提到您的dbms,但下面的脚本应该适合您-
6pp0gazn2#
你在找这样的东西吗?