Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在postgresql中创建子查询_Sql_Postgresql_Subquery - Fatal编程技术网

如何在postgresql中创建子查询

如何在postgresql中创建子查询,sql,postgresql,subquery,Sql,Postgresql,Subquery,我对postgresql非常陌生。我有这张桌子 从这个表中,我想要如下数据 region country count --------------------------------------------------- UttarPradesh India 16 California United State 2 如何完成这项任务。我做了一些事情,但没有正确地以

我对postgresql非常陌生。我有这张桌子

从这个表中,我想要如下数据

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);
在此之后,我阅读了这个结果,然后在循环中使用select语句运行update查询


所以这是一个正确的方法?或者有其他方法来完成此任务吗?

为什么是子查询或临时表,为什么不只是

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

在postgresql中,使用临时表是极为罕见的。如果您想用这些数据更新这个表或另一个表,可以使用经过深思熟虑的查询轻松地完成。循环也是不可取的。

为什么是子查询或临时表,为什么不只是

SELECT region_name, country_name, COUNT(*) 
FROM opens WHERE track_id = 42 GROUP by region_name, country_name
SELECT region_name, country_name, COUNT(*)
FROM t GROUP BY region_name, country_name
在postgresql中,使用临时表是极为罕见的。如果您想用这些数据更新这个表或另一个表,可以使用经过深思熟虑的查询轻松地完成。循环也是不可取的

SELECT region_name, country_name, COUNT(*)
FROM t GROUP BY region_name, country_name