Хочу подсчитать количество дней в которых продаж было более 18600
SELECT
count(*)
FROM sales
GROUP BY sale_date (
GROUP BY sale_id>186000)
функция сount(*) подсчитывает количество строк, то есть я смогу подсчитать в скольких днях продаж было больше 186000 (за продажу отвечает поле sale_id) для этого хочу сделать группу из групп ,cоздать группу из дат , в которых количество продаж больше 186000, но не могу найти нигде правильного синтаксиса. Заранее благодарю
Ответы (1 шт):
Не совсем понятно, про поле sale_id. Это же просто уникальный идентификатор одной записи о продажи?
Посчитав COUNT(*) с группировкой по датам вы получите выборку, с числом продаж по дням, это будет подзапрос.
Далее сделайте запрос к результату выборки, добавив условие на то, чтобы число продаж за день было больше 186000 и посчитайте кол-во таких дней:
SELECT COUNT(*) FROM (
SELECT COUNT(sale_id) AS cnt
FROM sales
GROUP BY sale_date
) as T2
WHERE cnt > 186000;