对于查找未被禁止的客户和司机的行程取消率的SQL代码,可以使用以下代码:
SELECT
c.customer_id,
c.customer_name,
d.driver_id,
d.driver_name,
COUNT(*) AS total_trips,
SUM(CASE WHEN t.cancelled = 1 THEN 1 ELSE 0 END) AS cancelled_trips,
SUM(CASE WHEN t.cancelled = 1 THEN 1 ELSE 0 END) / COUNT(*) AS cancellation_rate
FROM
trips t
JOIN
customers c ON t.customer_id = c.customer_id
JOIN
drivers d ON t.driver_id = d.driver_id
WHERE
c.status = 'active' AND d.status = 'active'
GROUP BY
c.customer_id, c.customer_name, d.driver_id, d.driver_name
HAVING
cancellation_rate < 0.2;
这段代码使用了三个表:trips
、customers
和drivers
。它通过连接这些表来获取客户和司机的相关信息,并计算行程取消率。以下是代码的解释:
SELECT
语句:选择需要查询的字段,包括客户ID、客户名称、司机ID、司机名称、总行程数、取消行程数和取消率。FROM
子句:指定要查询的表,即trips
表。JOIN
子句:连接customers
表和drivers
表,以获取客户和司机的信息。WHERE
子句:筛选出状态为“active”的客户和司机。GROUP BY
子句:按客户ID、客户名称、司机ID和司机名称对结果进行分组。HAVING
子句:筛选出取消率小于0.2的记录。这段代码的作用是查找未被禁止的客户和司机的行程取消率低于0.2的记录。可以根据实际需求进行调整和扩展。
请注意,由于要求不能提及特定的云计算品牌商,因此无法提供与腾讯云相关的产品和产品介绍链接地址。
云+社区沙龙online [技术应变力]
云+社区沙龙online[数据工匠]
云+社区沙龙online [国产数据库]
云+社区技术沙龙[第17期]
云+社区技术沙龙[第16期]
DBTalk
DB TALK 技术分享会
领取专属 10元无门槛券
手把手带您无忧上云