- 首先计算每个月份的各个品牌的订单量
- 按月进行分组对订单量排序得出序号,并筛选
select
*
from
(select
a.品牌
,a.mon
,a.num
,row_number()over(PARTITION by a.mon order by a.num desc) as num_rank
from
(SELECT
*
,date_format(日期,"%Y-%m-01") mon
,count(orser_id) num
FROM `alcohol`
group by
date_format(日期,"%Y-%m-01") ,品牌) a
) b
where b.num_rank<4
order by b.mon asc
网友评论