使用只计算现有预订的列插入0个预订的客户端



我正在做一个查询,显示新客户注册。其中一列必须显示他们所做的预订数量。有些没有预订。计数预订的唯一方法是count(booking_id),而booking_id仅在进行预订时生成,因此我无法插入值0,并且那些至少没有进行预订的人被排除在列表之外。

下面是我的查询的简化版本:

SELECT sign_up_date, client, count(booking_id_)
from client_table
group by 1, 2

这些是我想要的结果:

030

由于问题模棱两可,删除了前面的答案。如您所确认的表,问题将通过以下解决方案解决:

您需要执行left join以在客户端没有预订的相应预订条目中获取所有client条目以及null-s。然后一个简单的group by就可以完成你的工作了。

SELECT c.sign_up_date, c.client, count(b.booking_id_) as booking_count
from client c
left join booking b on b.client_id = c.client_id
group by 1, 2;

这就是你想要的:

tbody> <<tr>
sign_up_dateclientbooking_count
5-12-2021客户端10
6-12-2021客户端23
7-12-2021客户端32
8-12-2021客户40

最新更新