sql - 如何在postgresql中创建子查询

标签 sql postgresql subquery

我是 postgresql 的新手。我有这张 table 。

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);

在此之后,我读取了这个结果,然后在循环中使用 select 语句运行更新查询。

那么这是正确的方法吗?或任何其他方式来完成此任务?

最佳答案

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

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

在 postgresql 中很少需要使用临时表。如果你想用这个数据更新这个或另一个表,你可以通过一个深思熟虑的查询轻松地做到这一点。循环同样不可取。

关于sql - 如何在postgresql中创建子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41160659/

相关文章:

java - 更新时 hibernate 错误

mysql - 加入有条件的表

sql - 将重复的 varchars 更新为在 SQL 数据库中是唯一的

php - 如果不存在则插入并创建表...在重复键更新时

sql - PostgreSQL:获取双括号之间的字符串

mysql - 对每对求和 mysql 结果

sql - 如何分离列数据从一个表复制到另一个表?

postgresql - 存储字节数组时 Scala Anorm Postgresql 错误

mysql - 在mysql中不使用子查询选择列

具有未知列名的 MySQL SELECT