2014-09-09 4 views
0

ниже таблице данные:SQL общее число разделить на общее кол

, например, имя таблицы 'Статус'

Номер-User_status

1 -exec

2 -exec

3 -exec

4 -init

5 -init

6 -aware

7 -aware

8 -pend

9 -pend

10-PEND

мой вопрос, как для подсчета общего количества «user_status» и деления на общее число user_status «exec»?

что у меня есть до сих пор, заключается в том, чтобы рассчитать общее количество пользователей только, но я не мог разделить такую ​​вещь, о которой я говорил выше, или я могу это сделать?

SELECT COUNT (user_status),

ОТ Статус

ответ

1

Попробуйте

 
select user_status, count(*)/(select count(*) from Status where user_status='exec') 
from Status 
where exists (select 1 from Status where user_status='exec') 
group by user_status 

к сведению, что если нет Execs в quotient undefined.

+0

спасибо, он отлично работает. – MM89

0

Что-то, как это должно работать:

select numerator/denominator theanswer 
from (
select count(*) numerator 
, sum(case when user_status = 'Exec' then 1 else 0 end) denominator 
from status 
) temp 
where denominator > 0 
Смежные вопросы