我有一个表,其列只是会话的长度,我想返回长度为零的会话数和长度大于零的会话数。
我可以用两个单独的命令
来做到这一点select count(session_length) from my_table where session_length=0
select count(session_length) from my_table where session_length>0
但我希望看到结果合并在一个表中
答案 0 :(得分:1)
您可以使用条件聚合进行一次查询。
select
count(case when session_length = 0 then 1 end),
count(case when session_length > 0 then 1 end)
from my_table
答案 1 :(得分:1)
select 1 as QryNo, count(session_length) as SessLen
from my_table
where session_length=0
union
select 2 as QryNo, count(session_length) as SessLen
from my_table
where session_length>0
或
select
case
when session_length = 0 then 1
else 2
end as QryNo,
count(session_length) as SessLen
from my_table
答案 2 :(得分:0)
这可能过于简单,如果我误读了你的查询,你可以使用
道歉select count(session_length) from my_table where session_length >= 0
再次,道歉,如果这不是你想要的。