столбцами: value и key.
Мне надо чтобы если key=1 считало AVG(value), а если key=2 то SUM(value), ну тоесть 2 запроса как бы
select avg(value) from MyTable where key=1;
select sum(value) from MyTable where key=2;
Хочется в 1 запрос (а значит и скан по диску) поститать. Рождается такое "кака"
select avg(value) as avg, sum(value) as sum, key where key in (1, 2) group by key.
Но тут получается мы считаем также sum для key=1 и avg для key=2 что также неоптимально.
Можно что-то мудренее (чтобы работало быстрее и ресурсов тратило маньше) придумать?
В целом, нормально выглядит. Можно еще через countIf / sumIf написать. Но не должно быть заметно быстрее.
а у вас этот запрос тормозит?
Обсуждают сегодня