wanderingFaker
V2EX  ›  问与答

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

  •  
  •   wanderingFaker · Aug 23, 2016 · 1027 views
    This topic created in 3552 days ago, the information mentioned may be changed or developed.

    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 replies    2016-08-23 18:13:41 +08:00
    F281M6Dh8DXpD1g2
        1
    F281M6Dh8DXpD1g2  
       Aug 23, 2016
    count( case when done then 'done' else null end)
    count 不计算 null
    wanderingFaker
        2
    wanderingFaker  
    OP
       Aug 23, 2016
    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 ;
    这样写的。但查出来的有误
    F281M6Dh8DXpD1g2
        3
    F281M6Dh8DXpD1g2  
       Aug 23, 2016
    @wanderingFaker
    count()是会计算 0 的,所以 else 那里写成 null
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3039 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 02:41 · PVG 10:41 · LAX 19:41 · JFK 22:41
    ♥ Do have faith in what you're doing.