У меня есть следующий набор данных, и я надеюсь создать разные группы для подсчета появления значений под именем.
Имею: (округ в строке)
name state county
apple MD 1
apple DC 1
pear VA 1
pear VA 2
pear CA 5
peach CO 3
peach CO 3
peach CO 2
peach CO 2
Хочу:
name state county freq_name freq_state freq_county
apple MD 1 2 1 2
apple DC 1 2 1 2
pear VA 1 3 2 3
pear VA 2 3 2 3
pear CA 5 3 1 3
peach CO 3 4 4 2
peach CO 2 4 4 2
Полагаю, по SQL, переразделение позволит подсчитывать по разным уровням что-то вроде:
count(name) over (partition by name) as freq_name,
count(name) over (partition by state) as freq_state,
count(name) as freq_county
from have
group by name,state, county;
По какой-то причине этот кусок кода не дает мне права рассчитывает для freq_name. Я также хочу проверить, точен ли мой код для freq_state и freq_county. Спасибо!