单个查询中的唯一计数和带有条件的唯一计数

奥马尔123456789
型号编号 工单号 采购订单行
123 X 5450
123 X 5400
123 ÿ 5200
123 ÿ 5500

我的SQL Server数据库中有类似上表的内容。我希望查询返回不同的型号ID,不同的工作订单计数以及采购订单行不是5450或5400的不同工作订单计数。

在上表中,查询结果应如下:

型号编号 不同的工单 不同的工单,不包括采购订单行5400和5450
123 2 1个

有没有一种方法可以不使用多个子查询或临时表?

马里

您可以将COUNT DISTINCT与case语句一起使用。像这样

SELECT COUNT(DISTINCT ColumnName)
      , COUNT(DISTINCT ( CASE WHEN SomeCondition = True THEN ColumnName ELSE NULL END)) FilteredDistCount 
FROM TableName 

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章