【问题标题】:Query for joining another MySQL table, counting rows and specific fields查询加入另一个 MySQL 表,计算行数和特定字段
【发布时间】:2021-06-01 02:41:02
【问题描述】:

我不是 MySQL 专家,因此我需要关于进行单个查询、连接另一个表以及计算所有连接行以及具有特定字段的行的建议

这是我的初始查询:

SELECT e.id, e.event_fr, e.max_capacity, count(s.id) as subscriptions
FROM events e
INNER JOIN events_subscriptions s ON s.activity = e.id
GROUP BY e.id, e.event_fr
ORDER BY e.id ASC

基本上,我试图找出(计数)给定事件的订阅数。

但每个订阅事件也有一个名为“waiting_list”的字段,它可以是 0 或 1。它告诉我当前订阅的人是否在等待列表中。

我还需要能够计算这些人数,以了解有多少人在给定活动的等候名单上:

id: 3, event_fr:瑜伽和放松, 订阅:14 等待名单:3

id:4, event_fr:柔道, 订阅:10 等待名单:5

等等。 我了解缺少带有子查询的超级外连接.. 是否可以在连接表上额外计算“waiting_list”? (例如 WHERE waiting_list = 1)

【问题讨论】:

标签: mysql join subquery


【解决方案1】:

在我看来,您实际上并不需要额外的计数,因为您已经知道活动的最大容量是多少。因此,您只需从 e.max_capacity 值中减去订阅数,即当前在等待名单上的人数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多