Size: a a a

pgsql – PostgreSQL

2021 June 26

VS

Vitaliy Snitko in pgsql – PostgreSQL
Хм .. Про таблицу с топонимами я подумаю. Ценное замечание...

Нижний префикс почему-то добавляет ОРМка .. Я уже привык к этому .)
источник

А

Александр in pgsql – PostgreSQL
JSON в БД - это MongoDB.
источник

DP

Darafei Praliaskousk... in pgsql – PostgreSQL
это jsonb
источник

VS

Vitaliy Snitko in pgsql – PostgreSQL
Мне нужен Постгрес. )
С Монго я бы таких вопросов не задавал.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Да сделайте Вы обычные нормализованные таблицы (какие — Вам виднее, по одному примеру не скажешь), что тут думать? ;)
источник

a

antuan in pgsql – PostgreSQL
Забавно, а я-то думал, что, цитирую, "монга должна умереть", и появление jsonb - один из чекпоинтов на пути к этому
источник

А

Александр in pgsql – PostgreSQL
Я когда шучу смайлики не всегда ставлю.
источник

A

Alex in pgsql – PostgreSQL
Ребята а есть кто работал с API SentinelHub?
источник

VS

Vitaliy Snitko in pgsql – PostgreSQL
Когда в Постгрес и вообще в базы данных только третий день вникаешь - есть о чём думать... )
источник
2021 June 27

AS

Andrei Sapozhnikov in pgsql – PostgreSQL
И в дополнение к вашему примеру: 1 можно Lj smallint обрезать, вы сделайте так что бы вам запрос вернул значение больше 4^32 и посмотрите на результат. Но в данном случае это именно проблема прокладок, они не правильно интерпретируют Int8, или не знают, что ПО правильно обработает 64bit, вот и подсовывают строку.
источник

МК

Михаил Ковальчук... in pgsql – PostgreSQL
источник

AK

Alexandr Khan in pgsql – PostgreSQL
WITH cte AS
(
SELECT ethnicity, outcome,
 COUNT(*) OVER(PARTITION BY ethnicity) as total,
 COUNT(*) OVER(PARTITION BY ethnicity, outcome) as part
FROM police.stop_search
)
SELECT * FROM cte

Получаю такой результат:
ethnicity, outcome, total, part
Asian, Arrest, 1200, 200
Asian, No action, 1200, 400
Asian, Fine, 1200, 600

Надо что-то такое:
ethnicity, total, arrest_part, no_action_part, fine_part
Asian, 1200, 200, 400, 600

Можно ли так сделать (разбивать в зависимости от значения outcome) прямо в оконной функции,
если нет то как можно?
источник

R

Radist in pgsql – PostgreSQL
смахивает на pivot. Вам нужна функция crosstab из одноимённого расширения.
источник

AK

Alexandr Khan in pgsql – PostgreSQL
Ага, похоже. Спасибо
источник

AU

A U in pgsql – PostgreSQL
Если все варианты outcome заранее известны то просто:
select ethnicity, count(*) as total, sum((outcome='Arrest')::integer) as arrest_part, sum((outcome='No action')::integer) as noaction_part /*... все остальные нужные варианты ... */ from police.stop_search group by ethnicity;
источник

AK

Alexandr Khan in pgsql – PostgreSQL
тоже отлично, а если остальные можно в одну группу обьединить?
источник

R

Radist in pgsql – PostgreSQL
> sum((outcome='Arrest')::integer)
Пожалейте тех, кто это будет поддерживать потом.
count(*) filter (where outcome='Arrest')
источник

AK

Alexandr Khan in pgsql – PostgreSQL
arrest, noaction, all_others
как для all_others будет выглядеть query?
источник

AU

A U in pgsql – PostgreSQL
sum((outcome not in ('Arrest', 'No action')::integer)
источник

AU

A U in pgsql – PostgreSQL
Можно и с filter если версия позволяет (а она, быстрее всего, позволяет)
источник