型号编号 | 工单号 | 采购订单行 |
---|---|---|
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] 删除。
我来说两句