Подтвердить что ты не робот

Выберите счетчик (*) из запроса результата

Мне нужна помощь от вас, это мой запрос sql:

select count(SID) 
from Test 
where Date = '2012-12-10' 
group by SID

это мой результат:

|2|
|3|
|4|
|3|

и теперь мне нужно подсчитать результаты первого запроса!

Expected result: 4 
4b9b3361

Ответ 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'