SQL统计某个其他表中某列的出现次数
我想计算表a到表B中某一列的出现次数 此查询生成第一个表 表ASQL统计某个其他表中某列的出现次数,sql,postgresql,Sql,Postgresql,我想计算表a到表B中某一列的出现次数 此查询生成第一个表 表A select geo_address_id from favourite_address where rider profile_id = 1; geo_address_id -------------- 2 8 4 第二张桌子看起来像这样 表B rider_profile_id | geo_addresses| counter -----------------------------
select geo_address_id
from favourite_address
where rider profile_id = 1;
geo_address_id
--------------
2
8
4
第二张桌子看起来像这样
表B
rider_profile_id | geo_addresses| counter
-----------------------------------------
1 8 3
1 2 3
1 6 2
1 4 2
1 1 1
1 5 1
geo_address和geo_address_id指的是同一事物
我想计算第二个表中出现的geo\u addresses\u id
,最后得到类似的结果
表C
geo_addresses | counter
-----------------------
8
2
4
有序描述
我试图加入geo_地址中的表,但出现了一些不明确的错误。您只需
加入和分组:
select fa.geo_address_id, count(b.geo_address_id)
from favourite_address fa left join
b
on a.geo_address_id = b.geo_addresses
where fa.rider_profile_id = 1
group by fa.geo_address_id;
如果您限定查询中的所有列引用,则不会出现不明确的列引用问题。所以,限定列引用是一种很好的做法。它不起作用,我收到一个错误:来自表fav\u geo\u addresses的子句条目的missinf。我为fa创建了一个视图。@MarkosTzetzis。在我看来,这个查询的格式很好,您只需要注意表名。