2016-12-15 3 views
1

Я очень недавно знаком postgresql. У меня есть эта таблица.Как создать подзапрос в postgresql

enter image description here

Из этой таблицы я хочу, чтобы данные, как

region    country   count 
--------------------------------------------------- 
UttarPradesh   India    16 
California   United State  2 

Как решить эту задачу. Я сделал что-то, но не правильно закончить с решением здесь мои запросы

CREATE TEMP TABLE temp1 AS 
    (SELECT distinct region_name, country_name, null::integer as "count" 
    from opens where track_id=42); 

После этого я прочитал этот результат, то в запросе обновления выполнения цикла с оператором выбора.

Так это правильный путь? Или любой другой способ достичь этой задачи?

+0

http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557# 285557 –

ответ

5

Почему подзапрос или временные таблицы, почему не только

SELECT region_name, country_name, COUNT(*) 
FROM opens WHERE track_id = 42 GROUP by region_name, country_name 

Это крайне редко в PostgreSQL, чтобы использовать временную таблицу. Если вы хотите обновить эту или другую таблицу этими данными, вы можете легко сделать это с помощью продуманного запроса. Цикл также нежелателен.

1
SELECT region_name, country_name, COUNT(*) 
FROM t GROUP BY region_name, country_name 
Смежные вопросы