我在表 Subscribers
中有一个订阅者列表。每次他们收到订阅副本时,都会在 Subscriptions_Fulfilments
中为每个 Subscribers.ID
创建一条新记录。
我可以创建一个表格,显示每个订阅者 ID 以及他们通过以下查询收到的副本数量:
SELECT Sub_ID, COUNT(Sub_ID) fcount FROM `Subscriptions_Fulfilments`
GROUP BY Sub_ID
但我需要创建一个复合查询,它返回 Subscribers
以及显示 Subscriptions_Fulfilments
的 COUNT(Sub_ID) 的列。
所以我有两个问题:
A) 您将如何根据 Subscriptions_Fulfilments
中该订阅者 ID 的 COUNT 进行查询,以创建一个表来显示每个订阅者以及他们收到订阅的次数?
B) 我假设单个 MySql 查询完成此操作比运行两个查询(上面的一个查询和一个 SELECT * FROM Subscriptions
)并组合更有效PHP 中的结果数组。我有一种感觉,我知道答案,但我今天想积极地学习一些新东西。
不幸的是,在尝试了太多次之后,我显然不擅长对此进行查询,并且我几乎没有通过上述查询来展示它。如果这最终是一个骗局,我深表歉意,我在询问之前搜索了很长时间,但是很难精确搜索查询帮助...
最佳答案
这是一个简单的示例,显示订阅者 ID 和他们收到的订阅号。希望对您有所帮助。
第 1 步:从订阅者表中选择 ID
第二步:选择每个订阅者收到的订阅数。
第 3 步:根据 ID 加入两个表。
SELECT SubId, noSub FROM
Subscribers sb JOIN (SELECT SubId AS sid, COUNT(*)AS noSub FROM Subscriptions_Fulfilments GROUP BY SubId)AS ss ON sb.SubId = ss.sid
关于php - 将列添加到一个表中,该表是另一个表的 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29309472/