我是 postgresql 的新手。我有这张 table 。
从这个表我想要这样的数据
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/