Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как посчитать долю в каждой категории ? / 4 сообщений из 4, страница 1 из 1
10.03.2021, 00:25
    #40052126
akalend
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать долю в каждой категории ?
есть таблица
Код: sql
1.
2.
3.
id int   - уникальный id
cat_id int - id  категории
prz   int - признак = 1/0


Можно ли одним запросом посчитать долю всех записей категории с prz=1 от колл-ва записей в данной категории...
т.е результат должен быть:
Код: sql
1.
2.
3.
4.
 
cat_id        доля
 1            0.б5        count(cat_id=1 and  prz=1) /  count(cat_id=1)
 2            0.31        тоже для cat_2
...
Рейтинг: 0 / 0
10.03.2021, 09:32
    #40052156
DHDD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать долю в каждой категории ?
akalend,

Код: plsql
1.
SELECT cat_id,SUM(prz)/COUNT(*) FROM my_table GROUP BY cat_id
...
Рейтинг: 0 / 0
10.03.2021, 11:51
    #40052210
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать долю в каждой категории ?
akalend
есть таблица
Код: sql
1.
2.
3.
id int   - уникальный id
cat_id int - id  категории
prz   int - признак = 1/0


Можно ли одним запросом посчитать долю всех записей категории с prz=1 от колл-ва записей в данной категории...
т.е результат должен быть:
Код: sql
1.
2.
3.
4.
 
cat_id        доля
 1            0.б5        count(cat_id=1 and  prz=1) /  count(cat_id=1)
 2            0.31        тоже для cat_2




Код: plsql
1.
select cat_id,  count(*) filter (where prz=1)/count(*)  from SOMETABLE group by cat_id;




--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
11.03.2021, 23:12
    #40052740
akalend
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать долю в каждой категории ?
спасибо
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как посчитать долю в каждой категории ? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]