У меня есть два столбца person_type
и time_in
. Я пытаюсь найти процент person_type
в каждый соответствующий час. Моя база данных выглядит так:
person_type || time_in
FT N/A
FT 0
FT 4
FT 22
FT 23
NL 1
NL 2
NL 3
NL 4
NL 4
Я пытаюсь создать запрос для возврата следующего вывода:
% FT || time_in
100 N/A
100 0
0 1
0 2
0 3
33 4
100 22
100 23
Я попробовал следующий код:
select (
(select count(*) from delivery where person_type = 'FT')
/count(*)) as 'FT %', time_in
from delivery
group by hour
order by hour;
Проблема в том, что мой подзапрос возвращает 5 для каждого значения time_in, поэтому мой текущий вывод выглядит так:
% FT || time_in
500 N/A
500 0
500 1
500 2
500 3
166 4
500 22
500 23
Если я сгруппировал по time_in в своем подзапросе, то получаю сообщение об ошибке, в котором говорится, что запрос возвращает более одного значения.