无法通过 SUM(CASE WHEN) 查询返回正确的值

问题描述 投票:0回答:1

我编写了下面的查询,尝试获取从 london_crime 数据库返回到列中的每项犯罪的总价值(minor_category),但与数据集中这些类型犯罪的总体统计数据相比,返回的值显然不正确。我做错了什么?

选择 自治市镇, SUM(CASE WHEN secondary_category = 'Rape' THEN value ELSE 0 END) AS Rape_Total, SUM(CASE WHEN secondary_category = '机动车刑事损坏' THEN value ELSE 0 END) AScriminal_Damage_Total 从

bigquery-public-data.london_crime.crime_by_lsoa
通过...分组 行政区;

例如,布伦特行政区机动车刑事损坏的事故数量/总值为 8433。在表中,根据我创建的查询,它显示为 0 值。本质上,我有行格式的值,我需要将其转置为多列,但显然我做错了一些事情。任何帮助将不胜感激。

Crime type per Borough

sum case transpose
1个回答
0
投票

BigQuery 或 Any SQL 区分大小写。使用以下查询。应该是

To
而不是
to

SELECT borough, 
SUM(CASE WHEN minor_category = 'Rape' THEN value ELSE 0 END) AS Rape_Total,
SUM(CASE WHEN minor_category = 'Criminal Damage To Motor Vehicle' THEN value ELSE 0 END) AS Criminal_Damage_Total
FROM bigquery-public-data.london_crime.crime_by_lsoa 
GROUP BY borough;

© www.soinside.com 2019 - 2024. All rights reserved.