首页 文章

按月分组并添加年份和员工

提问于
浏览
-1

我有一张简单的 table ,每年都会进行一次销售 . 我想找出每个月的最大销售量,以及是谁以及在哪个年份和月份 .

Table has following columns:

Id,日期,金额,employeeId

我按 year(date)month(date) ,employeeId对数据进行分组,并使用 sum(amount) 查找每个月每位员工的销售情况 . 然后我进一步分组 month(date) 并使用 sum(amount) 列上的max来查找每月的最大销售额 . 这很简单 .

在那之后我想知道究竟是什么时候 (date) 以及究竟是谁 (employeeId) 做了那个特别的销售 .

3 回答

  • 0

    按年份(日期),月份(日期),employeeId和使用金额(金额)分组数据,以查找每个月每个员工的销售情况,然后按金额(金额)desc订购 . 您的最高卖家将位于结果的顶部 .

  • 0

    大多数数据库都支持ANSI标准 rank() 函数 . 这可能会做你想要的:

    select s.*
    from (select year(date) as yyyy, month(date) as mm, employeeid, sum(amount) as amount,
                 rank() over (partition by year(date), month(date) 
                              order by sum(amount) desc
                             ) as seqnum
          from simpletable
         ) s
    where seqnum = 1;
    
  • 0

    如果我理解正确的话,我想你可以做到这一点:

    select top 1 with ties year(date), month(date), employeeId 
    from TableName
    group by year(date), month(date), employeeId
    order by sum(amount) desc
    

相关问题