Oracle查询 - 如何使计数返回值为0

时间:2013-05-15 15:00:38

标签: sql oracle count

如何进行计数以返回其中包含0的值。

示例:

select count(1), equipment_name 
from   alarms.new_alarms 
where  equipment_name in (
           select eqp from ne_db.ne_list)
Group by equipment_name

它只返回值大于0的计数,但我需要知道没有返回任何内容的记录。

非常感谢任何帮助。

感谢,

4 个答案:

答案 0 :(得分:2)

尝试使用LEFT JOIN

SELECT  a.eqp, COUNT(b.equipment_name) totalCount
FROM    ne_db.ne_list a
        LEFT JOIN alarms.new_alarms b
            ON a.eqp = b.equipment_name
GROUP   BY a.eqp

答案 1 :(得分:2)

如果表格ne_list没有重复项,那么您可以执行left join。这个假设可能不正确,所以最安全的转换方法是删除子查询中的重复项:

select count(1), ne.equipment_name 
from   alarms.new_alarms ne left outer join
       (select distinct eqp
        from ne_db.ne_list
       ) eqp
       on ne.equipment_name = eqp.eqp
Group by ne.equipment_name

答案 2 :(得分:1)

您可以使用left join

select  ne.equipment_name 
,       count(na.equipment_name)
from   ne_db.ne_list ne
left join   
       alarms.new_alarms na
on     ne.eqp = na.equipment_name
group by 
       ne.equipment_name

答案 3 :(得分:0)

这也应该有用

var originalPosition = document.getElementById("fish").style.left;

function resetPosition() {
    document.getElementById("fish").style.left = originalPosition;
}