У меня есть база данных с 5 datetime, которые являются текстовыми типами данных.Значения: 4/15/12 1:47
(тип FT), 9/8/12 20:02
(тип FT), 5/10/13 22:21
(тип FT), 3/3/13 4:46
(тип FT) и 2/9/12 4:19
(тип NL).Я хочу посчитать количество событий, происходящих за каждый час, а затем разделить его на общее количество событий.
Поскольку столбец имеет текстовый тип данных, я выбираю час с помощью следующего кода: hour(str_to_Date(order_placer_placed_time,'%m/%d/%Y %H:%i')
.
Код, который я пробовал:
select (
(select count(*) from col where type = 'ft' and hour(str_to_Date(time,'%m/%d/%Y %H:%i')) = 4
group by type)
/count(*)) as 'FT %',
hour(str_to_Date(time,'%m/%d/%Y %H:%i')) as hour
from col
group by hour
order by hour;
Мне нужно изменить 4
в моем подзапросе на все часовые сегменты каждого дня, чтобы я мог вернуть результат, который показывает мне% людей в футах, поделенных на общее число людей.
Я не уверен, как сделать динамику 4
в моем подзапросе, чтобы вернуть результаты, которые я ищу.
Окончательный результат должен выглядеть следующим образом:
1 100%
4 50%
20 100%
22 100%