#sql #google-bigquery #partition
#sql #google-bigquery #раздел
Вопрос:
Pipedrive_org_id один, но у него есть несколько office_id. Поэтому мне нужно собрать необходимую информацию с помощью pip_org_id, а не office_id. Изюминкой является то, что в таблицах у нас есть информация о списках и странах, где эти списки размещены, собранная только с помощью office_id. После объединения и т.д. У меня есть повторения среди pip_org_id. Мне нужно иметь один уникальный идентификатор pip_org_id, сумму списков и код страны для частых списков.
Ошибка: Нераспознанное имя: r в
Код приведен ниже:
select distinct cast(o.pipedrive_organization_id as int64) as pipedrive_organization_id, sum(active_listings) as active_listings,
li.type as category, li.country_code,
row_number() over (partition by cast(o.pipedrive_organization_id as int64)
order by sum(active_listings) desc) as r
from `jamesedition-152413.data_marts.pg_offices` o
left join (
select office_id, type, country_code, count(listing_id) as active_listings,
row_number() over (partition by office_id
order by count (listing_id) desc) as rank
from `jamesedition-152413.data_marts.pg_listings`
where available_for_jamesedition = true and active = true
group by office_id, type, country_code
order by office_id
) li
on o.office_id = li.office_id and rank = 1 and li.office_id is not null
where active_listings>0 and cast(o.pipedrive_organization_id as int64) is not null and r = 1
group by 1,3,4,5
order by pipedrive_organization_id desc
Код дает мне следующий результат:
pipedrive_organization_id| active_listings |category | country_code
59326 | 10 |Real_Estate| IT
59326 | 2 |Real_Estate| FR
Я хочу иметь:
pipedrive_organization_id| active_listings |category |country_code
59326 | 12 |Real_Estate| IT
Комментарии:
1. Ваш вопрос не имеет смысла для тех, кто не знаком с вашей моделью данных. Образцы данных и желаемые результаты, вероятно, помогли бы.
2. @GordonLinoff Я добавил результат и желаемый результат