Хочу подсчитать количество дней в которых продаж было более 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; 
→ Ссылка