使用多个联接进行计数

时间:2017-11-04 16:32:20

标签: sql postgresql sqlalchemy relational-division

假设您有3个表:poststagspost_tagpoststags之间存在m:n关系,post_tag用于连接它们。

您如何计算具有特定标签对的帖子数量?例如,计算用" news"标记的帖子数量。和"特色"?

2 个答案:

答案 0 :(得分:0)

只需使用EXISTS

即可
select count(*)
from posts
where exists(select 1 from post_tag 
             join tag on post_tag.tid = tag.tid
             where post_tag.pid = posts.pid and tag.name = 'news') and
      exists(select 1 from post_tag 
             join tag on post_tag.tid = tag.tid
             where post_tag.pid = posts.pid and tag.name = 'featured')

答案 1 :(得分:0)

这是关系划分的情况。有很多方法可以解决它 假设standard many-to-many implementation,这应该是最快和最简单的:

openssl verify -verbose -CAfile ca.crt client.crt

计算至少两个给定标签的帖子。同一帖子可以有更多标签。

我们在这个相关问题下汇集了一系列技术: