У меня есть простая таблица установок :
- prod_code
- Адрес электронной почты
- install_slot
Если слот install_slot имеет значение NULL, это доступный слот для установки. Не ноль - значит, используется слот. Мне нужно вернуть результат общего количества установок для данного продукта и электронной почты, а также результат использованных установок для данного продукта и электронной почты. Я думаю, я мог бы сделать это с двумя запросами, но задавался вопросом, есть ли способ SQL сделать все это в одном?
Я попробовал следующее как дикое предположение, но оно не сработало .
SELECT
i1.`prod_code`,
COUNT(i1.`email`) AS total_installs,
COUNT(ISNULL(i2.`install_slot`)) AS used_installs
FROM
`installs` AS i1
JOIN
`installs` AS i2
ON
i1.`prod_code` = i2.`prod_code`
WHERE
i1.`email` = 'example@example.com'
GROUP BY
i1.`prod_code`,i2.`prod_code`