【发布时间】:2017-10-02 09:05:39
【问题描述】:
我的架构、查询和有问题的结果可以在这里看到: http://sqlfiddle.com/#!17/55bc3/5/0
我创建了一个用于存储帖子、cmets 和收藏夹的架构。 (为了演示,我简化了我的示例)。我正在尝试编写一个查询来汇总每个帖子的喜欢/收藏计数,以显示在“首页”上。
为了模拟用户/帖子/收藏夹之间的关系,我使用了多个交集表。在查询中,我使用两个LEFT JOINs,然后在结果中使用COUNTing 不同的列。我遇到了一个问题,我存储为comment_count 的COUNT 在返回大于0 的任何值时会覆盖favourite_count,导致它为两列返回重复值。
我认为我理解这背后的机制,即结果的GROUPing 导致结果行被挤压在一起以产生不正确的结果。我想知道是否有人可以让我知道这称为什么背后的一些理论,以及如何正确编写查询来处理这种情况。
【问题讨论】:
标签: sql postgresql join count schema