Столбец X, который не является ни GROUPED, ни AGGREGATED - StandardSQL / BigQuery - PullRequest
0 голосов
/ 15 февраля 2019

Я читал сообщения об этом, и так много предлагаемых решений не работали, как я хочу.Я пытаюсь получить сумму некоторых столбцов для тех же строк, а затем выбираю все остальные столбцы при выполнении моего запроса.

Например, при попытке использовать group by для одного столбца это не работает,Как было предложено во многих постах / Questiosn по stackoverflow, решение состоит в том, чтобы сгруппировать все столбцы в выбранной части, что не возвращает желаемых результатов.

Что ж, вот моя проблема,

Я пытаюсь выполнить следующий запрос:

SELECT
  date,
  campaign_id,
  ad_name,
  NOM_ENSEMBLE,
  SUM(impressions) AS IMPRESSIONS,
  SUM(clicks) AS CLICKS,
  SUM(spend) AS SPEND,
  Frequentation

FROM
  `my-project.dugut.for_analysis`

У меня есть следующие столбцы, упомянутые выше, и я получил, например, для того же NOM_ENSEMBLE для разных показов и кликов, и я хочу создать таблицу, котораясодержит «NOM_ENSEMBLE» и «DATE» с суммой показов, кликов, потраченных на одну и ту же DATE / NOM_ENSEBMLE!

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Я хочу создать таблицу, содержащую «NOM_ENSEMBLE» и «DATE» с суммой показов, кликов, потратить на одну и ту же дату / NOM_ENSEBMLE!

Если выДелая агрегацию, вам нужно GROUP BY.GROUP BY должен содержать только неагрегированные столбцы в SELECT.Итак, запрос должен выглядеть так:

SELECT date, NOM_ENSEMBLE,
       SUM(impressions) AS IMPRESSIONS,
       SUM(clicks) AS CLICKS,
       SUM(spend) AS SPEND
FROM `my-project.dugut.for_analysis`
GROUP BY date, NOM_ENSEMBLE;
0 голосов
/ 15 февраля 2019

Извините, Ваш вопрос не до конца понят.Я думаю, что вы можете использовать оконные функции.

Вот ссылка на функцию ROLLINGSUM: https://cloud.google.com/dataprep/docs/html/ROLLINGSUM-Function_60720435

...