Выберите счетчик (*) из запроса результата
Мне нужна помощь от вас, это мой запрос sql:
select count(SID)
from Test
where Date = '2012-12-10'
group by SID
это мой результат:
|2|
|3|
|4|
|3|
и теперь мне нужно подсчитать результаты первого запроса!
Expected result: 4
Ответы
Ответ 1
Вы можете обернуть свой запрос в другой SELECT
:
select count(*)
from
(
select count(SID) tot -- add alias
from Test
where Date = '2012-12-10'
group by SID
) src; -- add alias
См. SQL Fiddle with Demo
Чтобы он работал, count(SID)
нужен псевдоним столбца, и вы должны предоставить псевдоним самому подзапросу.
Ответ 2
select count(*) from(select count(SID) from Test where Date = '2012-12-10' group by SID)
выберите count (*) from (выберите счетчик (SID) из Test, где Date = '2012-12-10', по SID)
должен работать
Ответ 3
Это подсчитывает строки внутреннего запроса:
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'