使用Count和OR给出太高的值

时间:2013-10-07 12:27:02

标签: sql count sybase

您好我有一个查询,我想返回一个值。如果我分两部分运行查询并将它们加在一起就可以了,但是当我尝试使用OR运算符时,值会大大增加。

这是第一个查询:

    select count (*) from tablename where DATE_TRE='2013-10-06' and SECTOR= '1'

返回3867

这是第二个:

 select count (*) from tablename where DATE_TRE='2013-10-06' and SECTOR= '01'

这将返回9

当我使用或像这样

运行它时
 select count (*) from tablename where DATE_TRE='2013-10-06' and SECTOR= '1' OR SECTOR = '01'

我得到4066的价值,任何想法我想要3876的数字

3 个答案:

答案 0 :(得分:2)

andor强大。使用括号

select count (*) 
from tablename 
where DATE_TRE = '2013-10-06' 
and (SECTOR= '1' OR SECTOR = '01')

select count (*) 
from tablename 
where DATE_TRE = '2013-10-06' 
and SECTOR in ('1', '01')

答案 1 :(得分:2)

我认为是因为它像这样评估它

select count (*) 
from tablename 
where (DATE_TRE='2013-10-06' and SECTOR= '1') OR SECTOR = '01'

当你正在寻找这个(试试这个)

select count (*) 
from tablename 
where DATE_TRE='2013-10-06' and (SECTOR= '1' OR SECTOR = '01')

答案 2 :(得分:1)

在SECTOR ='1'或SECTOR ='01'上放置一些括号:

select count (*) from tablename where DATE_TRE='2013-10-06' 
and ( SECTOR= '1' OR SECTOR = '01')