PSQL таблицы подвыбор на основе количества - PullRequest
0 голосов
/ 01 мая 2018

У меня есть таблица, для которой я считаю количество строк для каждого отдельного идентификатора. Если количество строк> = 6, то я хотел бы выбрать из исходной таблицы только те строки с идентификаторами, которые были возвращены из запроса.

Мне удалось написать первую часть кода, как показано ниже.

select * from (select id, count(*) from flights group by id) as fcount where count >= 6

Теперь, как мне выбрать из таблицы полетов все строки, соответствующие идентификатору, указанному при первом выборе.

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

1 Ответ

0 голосов
/ 01 мая 2018

Попробуй это.

SELECT *
    FROM (
        SELECT f.*
            ,count(*) OVER (PARTITION BY ID) AS fcount
        FROM flights f
        ) s
    WHERE fcount >= 6

Или это.

SELECT *
FROM Flights fo
WHERE EXISTS (
        SELECT 1
        FROM flights fi
        WHERE fi.id = fo.id
        GROUP BY id
        HAVING COUNT(*) >= 6
        )
...