Запрос Где и Группировать по - PullRequest
0 голосов
/ 18 февраля 2020
WITH AGE_2020 AS
(
    SELECT 
        2020 - YEAR(DATE_DE_NAISSANCE) AS AGE, 
        DATE_DE_NAISSANCE, DEPARTEMENT_CODE
    FROM 
        ELUS
    INNER JOIN 
        VILLES ON ELUS.CODE_INSEE = VILLES.CODE_INSEE
)
SELECT 
    AVG(AGE) AGE_MOYEN,
    DEPARTEMENT_CODE
FROM
    AGE_2020
WHERE 
    AVG(AGE) > 54 
GROUP BY 
    DEPARTEMENT_CODE
ORDER BY 
    AGE_MOYEN;

Мне нужно сгруппировать по отделам, где возраст> 54, но это означает, что сгруппировать форму ошибки, это работает без пункта, где, как я могу решить это?

1 Ответ

3 голосов
/ 18 февраля 2020

При использовании агрегации при фильтрации необходимо использовать go с наличием вместо группировки по

WITH AGE_2020 AS
(
    SELECT 
        2020 - YEAR(DATE_DE_NAISSANCE) AS AGE, 
        DATE_DE_NAISSANCE, DEPARTEMENT_CODE
    FROM 
        ELUS
    INNER JOIN 
        VILLES ON ELUS.CODE_INSEE = VILLES.CODE_INSEE
)
SELECT 
    AVG(AGE) AGE_MOYEN,
    DEPARTEMENT_CODE
FROM
    AGE_2020

GROUP BY 
    DEPARTEMENT_CODE
HAVING
    AVG(AGE) > 54 
ORDER BY 
    AGE_MOYEN;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...