我需要你的帮助,这是我的SQL查询:
select count(SID)
from Test
where Date = '2012-12-10'
group by SID
这是我的结果:
|2|
|3|
|4|
|3|
现在我必须计算第一次查询的结果!
Expected result: 4
答案 0 :(得分:53)
您可以将查询包装在另一个SELECT
:
select count(*)
from
(
select count(SID) tot -- add alias
from Test
where Date = '2012-12-10'
group by SID
) src; -- add alias
为了使其工作,count(SID)
需要列别名,您必须为子查询本身提供别名。
答案 1 :(得分:1)
select count(*) from(select count(SID) from Test where Date = '2012-12-10' group by SID)
从(选择计数(SID)中选择计数(*),其中日期='2012-12-10'按SID分组
应该有效
答案 2 :(得分:1)
这会计算内部查询的行数:
select count(*) from (
select count(SID)
from Test
where Date = '2012-12-10'
group by SID
) t
然而,在这种情况下,其效果与此相同:
select count(distinct SID) from Test where Date = '2012-12-10'