V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wanderingFaker
V2EX  ›  问与答

[求助] sql count 函数加条件的问题

  •  
  •   wanderingFaker · 2016-08-23 16:46:22 +08:00 · 400 次点击
    这是一个创建于 3015 天前的主题,其中的信息可能已经有所发展或是发生改变。

    select w.xm,w.wgfwzb,COUNT(username ) '需求总数' from t_wgy w left join t_sq_xqdj x on w.sjh=x.wgytel group by w.sjh

    这是执行的 sql ,现在要在需求总数的基础 ,查已完成需求总数。想知道怎样在 count 里加 where 条件

    3 条回复    2016-08-23 18:13:41 +08:00
    liprais
        1
    liprais  
       2016-08-23 16:50:08 +08:00
    count( case when done then 'done' else null end)
    count 不计算 null
    wanderingFaker
        2
    wanderingFaker  
    OP
       2016-08-23 17:13:25 +08:00
    select w.xm,w.wgfwzb,COUNT(case x.username when x.xqzt=1 then 1 else 0 end ) '已完成需求总数'
    from t_wgy w left join t_sq_xqdj x on w.sjh=x.wgytel group by w.sjh ;

    select w.xm,w.wgfwzb,COUNT(x.username ) '需求总数'
    from t_wgy w left join t_sq_xqdj x on w.sjh=x.wgytel group by w.sjh ;
    这样写的。但查出来的有误
    liprais
        3
    liprais  
       2016-08-23 18:13:41 +08:00
    @wanderingFaker
    count()是会计算 0 的,所以 else 那里写成 null
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   925 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:17 · PVG 06:17 · LAX 14:17 · JFK 17:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.