У меня есть таблица SQL со следующей схемой:Элегантный способ выбрать фракцию, удовлетворяющие ИНЕКЕ
{playerId, playSessionLength, временная метка}
Я хотел бы найти, в пределах некоторого диапазона времени , процент игровых сеансов, составляющих менее 10 секунд.
Я знаю, как сделать это некрасиво, с двумя запросами:
select count(*) from playData where timestamp > start and timestamp < end
select count(*) from playData where timestamp > start and timestamp < end and playSessionLength < 10
А затем делают разделение B/A.
Мой вопрос, что является самым чистым, самым элегантным способом сделать это с помощью одного запроса?
"случай, когда" Я понятия не имел, это было ключевое слово. Потрясающие! –
Избегание деления на ноль может быть синтаксисом, специфичным для РСУБД. Например, в PostgreSQL вы должны использовать NullIf (count (*), 0) –