mysql - 每月销售额最高的客户名称

标签 mysql sql greatest-n-per-group

我有一个销售表,我从中选择每月总销售额、最高销售额、当年所有月份的销售额,使用

        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

有关更多方法,请浏览 标签。

关于mysql - 每月销售额最高的客户名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25611465/

相关文章:

c# - 如何获取新添加的记录

mysql - 找出两个用户之间的连接,排除一个用户不存在的列

mysql - 如何用MySQL生成这两个报告?

mysql - 'created_day' 中的未知列 'where clause'

具有where条件的第二大值的SQL查询

sql - 使用限制在内部连接表

php - 上传 PDF 文件并将文件名发送到数据库

jquery - 如何设置自动完成以显示 Laravel 中另一个表的数据(OneToMany 关系)

mysql - SQL 导入 PostgreSQL 8.4.20 失败并出现语法错误

sql - 根据列值对查询中的记录进行分组计数