Найдите группу, значения которой соответствуют установленным критериям только в sql - PullRequest
0 голосов
/ 10 марта 2020

У меня есть следующая таблица

enter image description here

Мне нужно выбрать леса, идентификаторы которых имеют области более 30,5 га. Желаемый результат; enter image description here

Я пытался;

SELECT *
FROM   (SELECT *,
               Min(AreaHa)OVER(partition BY Forest)
        FROM   REPORT)a
WHERE  AreaHa> 30.5

Ваша помощь будет высоко оценена

Ответы [ 2 ]

3 голосов
/ 10 марта 2020

Вы пробуете фильтр по MinArea?

SELECT forest, ID, areaha,patchclass
FROM   (SELECT *,
           Min(AreaHa)OVER(partition BY Forest) AS MinArea
    FROM   REPORT)a
WHERE  MinArea> 30.5
2 голосов
/ 10 марта 2020

можно попробовать having:

select *
from REPORT
where Forest in (
    select Forest
    from REPORT
    group by Forest
    having min(AreaHA) > 30.5
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...