我需要你的帮助,这是我的 sql 查询:
select count(SID)
from Test
where Date = '2012-12-10'
group by SID
这是我的结果:
|2|
|3|
|4|
|3|
现在我必须计算第一次查询的结果!
Expected result: 4
我需要你的帮助,这是我的 sql 查询:
select count(SID)
from Test
where Date = '2012-12-10'
group by SID
这是我的结果:
|2|
|3|
|4|
|3|
现在我必须计算第一次查询的结果!
Expected result: 4
您可以将查询包装在另一个中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)
需要一个列别名,并且您必须为子查询本身提供一个别名。
这会计算内部查询的行数:
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'
select count(*) from(select count(SID) from Test where Date = '2012-12-10' group by SID)
select count(*) from(select count(SID) from Test where Date = '2012-12-10' group by SID)
应该有效