Я создаю запрос для расчета средней посещаемости с двух разных сайтов по дням.
Вывод должен выглядеть следующим образом:
+------------+---------+---------------+
| date | website | median_visits |
+------------+---------+---------------+
| 2019-04-01 | A | median_value |
| 2019-04-01 | B | median_value |
| 2019-04-02 | A | median_value |
| 2019-04-02 | B | median_value |
| 2019-04-03 | A | median_value |
| 2019-04-03 | B | median_value |
+------------+---------+---------------+
Вот как выглядит моя таблица (всего 20 000 строк):
+------------+---------+--------+
| date | website | visits |
+------------+---------+--------+
| 2019-04-01 | A | 10.0 |
| 2019-04-01 | B | 14.0 |
| 2019-04-02 | A | 85.0 |
| 2019-04-03 | A | 75.0 |
| 2019-04-02 | B | 3.0 |
| 2019-04-02 | B | 45.0 |
| 2019-04-01 | A | 12.0 |
| 2019-04-03 | A | 44.0 |
| 2019-04-01 | A | 99.0 |
+------------+---------+--------+
Что бысамый эффективный способ запросить желаемый результат?Я сейчас использую:
SELECT DISTINCT date, website, median_visits
FROM
(SELECT date, website, PERCENTILE_CONT(visits, 0.5)
OVER(PARTITION BY date, website) AS median_visits
FROM table)