Отчет медианное время между покупками клиента
Хочу сделать отчет, в котором выводится время между покупками клиента.
Есть таблица со столбцами:
timestamp - это поле в запросе я перевожу в дату
user_id - id клиента, использую как запись о покупке
Пробовал сделать запрос, в котором выводится среднее количество дней между покупками:
WITH cta AS (
SELECT user_id, DATE_FORMAT(FROM_UNIXTIME(TIMESTAMP),'%Y-%m-%d') AS DATE
FROM cscart_orders)
SELECT user_id, DATEDIFF(MAX(DATE),MIN(DATE)) / (COUNT(DATE) - 1) AS avr_days_between_purchase
FROM cta
GROUP BY user_id
HAVING IS NOT NULL
Но загвоздка в том, что если у клиента даты покупок будут 2021-01-01, 2021-01-02, 2021-01-03, 2021-07-01, то среднее время между покупками будет 60 дней, что не отражает реальной ситуации.
Мне же нужно получить медианное число дней между покупками. Ума не приложу как это реализовать. Прошу помощи