我有一个查询,如果有一个连接,平均创建和取消日期之间的差异。查询如下
select avg(TIMESTAMPDIFF(DAY, users.created_at,subscriptions.canceled_at)) as total from users
join subscriptions on users.id = subscriptions.user_id
我想做的是,如果没有连接,则使用 NOW() 而不是 canceled_at,然后对两个 mysql 查询求平均值以获得平均天数。我该怎么做?
最佳答案
left join
应该可以解决问题:
SELECT AVG(TIMESTAMPDIFF(DAY,
users.created_at,
COALESCE(subscriptions.canceled_at, NOW())) AS total
FROM users
LEFT JOIN subscriptions ON users.id = subscriptions.user_id
关于mysql - 在不存在连接的情况下创建查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562480/