Данные за один год, основанные на группировке внутри запроса с большим количеством групповых запросов - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть запрос, подобный следующему:

        SELECT  
        primarylocation
        , secondarylocation
        , COUNT(IDs) as members
        , SUM(observed) as observed
        , SUM(expected) as observed
        , SUM(observed)/SUM(observed) as OE
        FROM table
        WHERE
            *******date >= year(max(date)) - 1 *********
            AND BusinessRuleExcludeFLG = 0
            AND OutlierFLG = 0
        GROUP BY
            primarylocation
            , secondarylocation

Мне нужны данные за годы для каждого основного местоположения (поэтому год (макс. (Дата)) - 1).Проблема заключается в том, что вышесказанное дает данные за годы для каждого основного местоположения и дополнительного местоположения.Можно ли сделать это в одном запросе без CTE?

1 Ответ

0 голосов
/ 18 сентября 2018

Звучит так, как будто вы действительно хотите сгруппировать по годам и основным местоположениям.

SELECT year(date) year,
       primarylocation,
       count(ids) members,
       sum(observed) observed,
       sum(expected) expected,
       sum(observed) / sum(expected) oe
       FROM table
       WHERE businessruleexcludeflg = 0
             AND outlierflg = 0
       GROUP BY year(date),
                primarylocation;

(И я предполагаю, что oe должно быть sum(observed) / sum(expected), а не sum(observed) / sum(observed), что будет просто 1.)

...