I’m not understanding the relevant difference between these two queries:
- My answer to the question:
SELECT 1.0 *
(
SELECT COUNT()
FROM subscriptions
WHERE subscription_start < ‘2017-1-01’
AND (
subscription_end
BETWEEN ‘2017-1-01’
AND ‘2017-1-31’
)
) / (
SELECT COUNT()
FROM subscriptions
WHERE subscription_start < ‘2017-1-01’
AND (
(subscription_end >= ‘2017-1-01’)
OR (subscription_end IS NULL)
)
)
AS result;
- The given solution:
SELECT 1.0 *
(
SELECT COUNT()
FROM subscriptions
WHERE subscription_start < ‘2017-01-01’
AND (
subscription_end
BETWEEN ‘2017-01-01’
AND ‘2017-01-31’
)
) / (
SELECT COUNT()
FROM subscriptions
WHERE subscription_start < ‘2017-01-01’
AND (
(subscription_end >= ‘2017-01-01’)
OR (subscription_end IS NULL)
)
)
AS result;
Thanks