在SQL中按两个条件分组

埃桑·阿克巴尔(Ehsan Akbar)

我有这张桌子

SELECT 
      [WeldStatus]
      ,PackageId

  FROM [SPMS2].[dbo].[JointHistory]

在此处输入图片说明

我怎么能集团通过此查询来计算total testpackagetotal accepttotal remain

例如对于packageid = 6030我需要这个:

packageid   total   accept remain 
6030        4       3      1
韦尔切利

使用CASEGroup By

SELECT 
      PackageId,
      count(*) as total,
      sum(case [WeldStatus] when 'Accept' then 1 end) as accept,
      sum(case [WeldStatus] when 'accept' then 0 else 1 end) as remain
  FROM [SPMS2].[dbo].[JointHistory]
group by PackageId;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章