首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql查询问题中不同用户的两个日期之间的总和记录

mysql查询问题中不同用户的两个日期之间的总和记录
EN

Stack Overflow用户
提问于 2013-09-02 19:34:37
回答 1查看 450关注 0票数 0

我有两张桌子leadlead_details。有一个字段status。如果status=1为open,则status=2为close且未指定status=3

我想找出每个用户/代理的所有打开、关闭和未指定的总和。下面是我尝试过的方法,但它给出了错误的数据

代码语言:javascript
复制
select agent_id,
       type,
       status,
       created_date,
       category_id,
       sum(case when status = 2 then val else 0 end) as closed1,
       sum(case when status = 1 then val else 0 end) as opened1, 
       sum(case when status = 3 then val else 0 end) as notspecefied1 
  from ( select l.agent_id,
                l.type,
                ld.category_id,
                l.status,
                l.created_date,
                count(*) as val 
           from crm_leads l,
                crm_leads_details ld 
          where l.id=ld.lead_id AND  
                status in (2, 1, 3) 
          GROUP BY status, agent_id 
        ) t 
 WHERE created_date BETWEEN '2013-8-2' AND '2013-9-2' 
 GROUP BY agent_id
EN

回答 1

Stack Overflow用户

发布于 2013-09-02 19:40:06

您需要将WHERE created_date子句放入子查询中。

代码语言:javascript
复制
select agent_id,type,status,created_date,category_id,
       sum(case when status = 2 then val else 0 end) as closed1,
       sum(case when status = 1 then val else 0 end) as opened1, 
       sum(case when status = 3 then val else 0 end) as notspecefied1 
from ( select l.agent_id,l.type,ld.category_id,l.status,l.created_date,
       count(*) as val from crm_leads l JOIN crm_leads_details ld 
       ON l.id=ld.lead_id 
       WHERE created_date BETWEEN '2013-8-2' AND '2013-9-2' AND status in (2, 1, 3)
       GROUP BY status, agent_id ) t 
GROUP BY agent_id

请注意,结果中的created_date将只是每个座席的周期中随机选择的日期。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18572293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档