데이터가 양식에서 수집했습니다. 지금 열 필요여러 열 사이의 최대 값을 가진 열 이름 표시
:
이COUNTY | denver | seattle | new_york | dallas | san fran
-----------+---------+-----------+----------+----------+---------
ada | 3 | 14 | 0 | 0 | 0
slc | 10 | 0 | 0 | 0 | 9
canyon | 0 | 5 | 0 | 0 | 0
washington | 0 | 0 | 11 | 0 | 0
bonner | 0 | 0 | 0 | 2 | 0
(cartodb이는 경우 문을 사용하여 수행되었으며, 크로스 탭은 내가 사용하고있는 환경에서 허용되지 않습니다)은 다음과 같습니다 있도록하고 데이터를 "피벗"한 최대 값을 가진 CITY
을 나열하십시오. 예 :
COUNTY | CITY | denver | seattle | new_york | dallas | san fran
-----------+----------+---------+-----------+----------+----------+---------
ada | seattle | 3 | 14 | 0 | 0 | 0
slc | denver | 10 | 0 | 0 | 0 | 9
canyon | seattle | 0 | 5 | 0 | 0 | 0
washington | new_york | 0 | 0 | 11 | 0 | 0
bonner | dallas | 0 | 0 | 0 | 2 | 0
답장을 보내 주셔서 감사합니다. 이 질문을 하나의 쿼리에서 만들 수 있는지 궁금합니다. 예를 들어, 여기에 데이터를 피벗 할말을 테잎에 나는 위의 첫 번째 테이블의 예에 내 데이터를 얻기 위해 사용되는 쿼리는 다음과 같습니다
SELECT counties.name, counties.state, counties.the_geom,
count(case when fandom_survey_one.favorite_team = 'Arizona Cardinals' then 'ari' end) ari,
count(case when fandom_survey_one.favorite_team = 'Atlanta Falcons' then 'atl' end) atl,
count(case when fandom_survey_one.favorite_team = 'Baltimore Ravens' then 'bal' end) bal,
count(case when fandom_survey_one.favorite_team = 'Buffalo Bills' then 'buf' end) buf,
count(case when fandom_survey_one.favorite_team = 'Carolina
FROM fandom_survey_one, counties
WHERE ST_Intersects(fandom_survey_one.the_geom, counties.the_geom)
group by counties.name, counties.state, counties.the_geom
order by counties.name, counties.state
이에 고든 또는 어윈에서 제공하는 답변을 통합 할 수있는 방법이 있는지 궁금 첫 번째 쿼리는이 모든 것을 하나의 쿼리에서 수행 할 수 있습니다. 감사.
첫 번째 결과를 생성하는 데 사용한 쿼리를 게시 할 수 있습니까? – paqogomez
(i) 테이블 위에있는 데이터베이스에서 원래의 (피벗되지 않은) 데이터에 액세스 할 수 있습니까? 테이블 구조는 무엇입니까? (ii) 하나 이상의 도시가 특정 카운티에 대해 최대 가치를 갖는다면 어떤 일이 발생해야합니까? – Abecee
위의 원래 쿼리를 게시했습니다 (이것이 나를 위해 피벗을 생성 한 것입니다). 내 데이터가 왜 내가 피벗 오전 Google 양식에서 오는 것입니다. 동일한 최대 값을 가진 도시가 더 많으면 두 가지를 모두 포함하고자하지만 첫 번째 것을 선택하려고합니다. – user30832