【发布时间】:2019-02-11 16:33:39
【问题描述】:
我有一个不知道如何克服的问题,非常感谢一些方向。
示例数据
Device Project status
a111 101 Ready
a222 102 Finished
a333 103 Ready
a444 104 Ready
a555 105 Ready
a111 106 Started
a111 107 Ready
a555 108 Started
我正在寻找一种方法来计算处于“就绪”状态的设备数量。但是,当谈到“就绪”时,我只想计算一次,如果该设备在另一个项目中的状态不是“就绪”,则不计算它
逻辑 如果在一个或多个项目中准备好 = 计数一次 如果在一个项目中准备好但在任何其他项目中具有不同的状态 = 不计入
正确的结果应该只显示 2 为“就绪”; 'a333' 和 'a444'。
SELECT
'Ready' AS Header
, status
, count(distinct device)
FROM my_table
WHERE
project BETWEEN'101' AND '110'
GROUP BY status
【问题讨论】:
标签: sql oracle duplicates