我正在使用Crosstab函数来垂直重新排列现有的水平数据。查询,返回的数据是准确的并且已重新排列,但是缺少许多行。我该如何解决?
FROM crosstab('SELECT
id,
town,
case_year,
felony_cases
FROM crimefigsbytown
ORDER BY town',
'SELECT case_year
FROM crimefigsbytown
GROUP BY case_year
ORDER BY case_year DESC')
AS (id varchar(16),
town text,
y_2020 int,
y_2019 int,
y_2018 int,
y_2017 int,
y_2016 int,
y_2015 int,
y_2014 int,
y_2013 int,
y_2012 int,
y_2011 int,
y_2010 int,
y_2009 int,
...
我期望256行代表一个城镇,但是我的交叉表仅返回180行。
请注意,当我从Crimefigsbytown做一个SELECT DISTINCT城镇时,我得到了承诺的256行和城镇。
此外,它向我显示的行中缺少某些列数据,因此我认为这不是NULL的问题。