代码之家  ›  专栏  ›  技术社区  ›  st4ck0v3rfl0w

SQL选择帮助

  •  0
  • st4ck0v3rfl0w  · 技术社区  · 14 年前

    我试图计算在我的数据库中每个用户有多少创建的和发布的文章。

    POST ID | USER ID | STATUS 
    

    用户ID 1有5个帖子(5个不同的帖子ID),其中3个状态=已创建,2个状态=已发布。我希望输出显示以下列

    USER  CREATED  PUBLISHED 
    ----------------------------
     1    3        2
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   OMG Ponies    14 年前

    用途:

      SELECT t.user,
             SUM(CASE WHEN t.status = 'CREATED' THEN 1 ELSE 0 END) AS created,
             SUM(CASE WHEN t.status = 'PUBLISHED' THEN 1 ELSE 0 END) AS published
        FROM YOUR_TABLE t
    GROUP BY t.user