Попытка выполнить подзапрос в Postgres - PullRequest
0 голосов
/ 09 мая 2020

Попытка получить подзапрос, чтобы узнать, какие страны имеют более 20 городов в этой базе данных (база данных dvdrental из postgres). Я получаю сообщение об ошибке синтаксиса для «SELECT COUNT (c .city)». Любая идея, которая может помочь исправить это, будет принята с благодарностью.

SELECT * 
FROM g
(SELECT COUNT(c.city) AS number_cities, co.country
FROM city c
JOIN country co
ON c.country_id= co.country_id
GROUP BY co.country
ORDER BY country)g
WHERE COUNT(c.city)>=20

1 Ответ

0 голосов
/ 09 мая 2020

Проблема заключается в g в select * from g

, это должно быть

SELECT * FROM (
    SELECT COUNT(c.city) AS number_cities, co.country 
    FROM city c 
    JOIN country co ON c.country_id= co.country_id 
    GROUP BY co.country ORDER BY country) g 
WHERE number_cities>= 20

, или вы можете удалить подзапрос и использовать having вместо

SELECT COUNT(c.city) AS number_cities, co.country 
FROM city c 
JOIN country co ON c.country_id= co.country_id 
GROUP BY co.country 
HAVING COUNT(c.city)>=20
ORDER BY country
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...