Агрегация с неработающими измерениями

#sql #aggregate #dimensions

#sql #агрегировать #измерения

Вопрос:

У меня есть таблица SQL с несколькими измерениями, когда я объединяю ее по измерениям первого дня, я получаю правильное число, но когда я добавляю больше измерений, я получаю другое число. Это очень странно SK_DATE SK_COUNTRY Number1 Number2

Так что, если я сделаю

 SELECT
    SK_DATE
    ,MAX(number1)
    ,MAX(number2)
FROM
    table 1
GROUP BY
    SK_DATE
;
  

Нет, когда я запускаю то же самое. однако на этот раз

 SELECT
    SK_DATE
    ,SK_COUNTRY
    ,MAX(number1)
    ,MAX(number2)
FROM
    table 1
GROUP BY
    SK_DATE
    ,SK_COUNTRY
;
  

итак, при первом запуске я получаю 5,2 млн для номера 1, но при выполнении второго запроса я получаю 6,4 млн

введите описание изображения здесь

введите описание изображения здесь

Заранее спасибо

Комментарии:

1. Добавьте пример данных таблицы, текущий результат и ожидаемый результат. Все также отформатированный текст.

Ответ №1:

Если вы получили больше значений SK_COUNTRY в одном SK_Date , следует ожидать, что количество строк увеличится. Поскольку агрегация будет основана на уникальной комбинации SK_DATE и SK_COUNTRY

 SELECT
SK_DATE
,SK_COUNTRY
,MAX(number1)
,MAX(number2)
FROM
table 1
GROUP BY
SK_DATE
,SK_COUNTRY
 ;