на вскидку
select count(*)
from table1
where (A>0) and (B < 9)
С условиями не совсем ясно из вопроса, но прописать нужные надеюсь не составит труда.
"Но так же мне подойдет условие если в одной записи А>0, а в другой записи В<9."
Если так, то вместо AND используйте OR
upd:
join'ами проще решается:
select count(*) as total
from table1 as t1 inner join table1 as t2
where t1.a > 0 and t2.b < 9