Есть таблица с событиями.
Так же, есть 4 возможных события (`e`.`type`).
Мне нужно суммировать каждое событие и группировать по дням.
Сделал я вот так:
select DATE(FROM_UNIXTIME(`e`.`inserted_at`)) as `day`,
(select count(`id_event`) from `event` as `r` where DATE(FROM_UNIXTIME(`r`.`inserted_at`)) = `day` and `r`.`type` = 1) as `r_count`,
(select count(`id_event`) from `event` as `f` where DATE(FROM_UNIXTIME(`f`.`inserted_at`)) = `day` and `f`.`type` = 2) as `f_count`,
(select count(`id_event`) from `event` as `d` where DATE(FROM_UNIXTIME(`d`.`inserted_at`)) = `day` and `d`.`type` = 3) as `d_count`,
(select count(`id_event`) from `event` as `w` where DATE(FROM_UNIXTIME(`w`.`inserted_at`)) = `day` and `w`.`type` = 4) as `w_count`
from `event` as `e`
GROUP BY `day`
ORDER BY `day` DESC
LIMIT 10
Но запрос этот выполняется аж целых 5 секунд, тем более это не весь, дальше будет больше.
подскажите, как правильно составлять запросы такого типа?
Буду благодарен