我有一个销售表,我从中选择每月总销售额、最高销售额、当年所有月份的销售额,使用
select monthname(date),sum(amt_c),MAX(amt_c)
from sales where year(date)= year(now())
group by monthname(date) ;
我还想选择购买次数最多的客户,即对应于 MAX(amt_c) 的客户。
amt_c 是客户完成的购买,
最佳答案
一种方法是过滤连接:
select filter.mn
, filter.sum_sales
, filter.max_sales
, sales.cust
from (
select monthname(date) as mn
, sum(amt_c) as sum_sales
, max(amt_c) as max_sales
from sales
where year(date) = year(now())
group by
mn
) filter
join sales
on monthname(sales.date) = filter.mn
and sales.amt_c = filter.max_sales
有关更多方法,请浏览 greatest-n-per-group标签。
关于mysql - 每月销售额最高的客户名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25611465/