当一行中存在特定值而另一行中不存在不同值时记录计数

时间:2016-01-14 20:57:54

标签: sql

我的任务是查询一个查询,告诉我当一个单独的行中不存在另一个值时,存在多少某个值。这两行确实有一个共同的字段,当它们都存在时将是相同的。我有以下几点。

SELECT inci_no, count(inci_no)
FROM    inc_unit
WHERE       unit IN ('E08','ms08') and alm_date>='01/01/2013'
GROUP BY inci_no

所以这给了我inci_no的数字行。我只需要有1的行,唯一的单位是E08。 inci_no并不重要我只是用它来分组。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

正如罗伯特上面所说,你可以写一个自我加入。如果我理解正确,你想要的单位是E08,第二行不是ms08?如果是这样,这样的事情可能有用:

Select t1.inci_no, count(t1.inci_no)
From inc_unit as t1 Inner Join inc_unit as t2 On t1.inci_no = t2.inci_no
Where t1.unit = 'E08' and t2.unit <> 'ms08' and t1.alm_date>='01/01/2013'
Group by t1.inci_no

您可能需要添加一些内容以排除自身加入,但这应该让您开始。