Size: a a a

pgsql – PostgreSQL

2020 August 11

EK

Evgeny Khitrinevich in pgsql – PostgreSQL
Plus
как сделать одностороннюю синхронизацию баз данных из mssql в pgsql ?
источник

P

Plus in pgsql – PostgreSQL
спасибо
источник

NB

Nick Belous in pgsql – PostgreSQL
Yaroslav Schekin
Какую? И показали бы Вы код целиком (создания триггера, view, триггерной функции и \d или CREATE TABLE), чтобы можно было воспроизвести проблему...
Благодарю за ответ. Проблема решилась.
источник

NB

Nick Belous in pgsql – PostgreSQL
select type_id from new запихнул в x_type_id. После этого проверяю на значение в if
источник

YZ

Yura Zolotchenko in pgsql – PostgreSQL
Подскажите пожалуйста ,как изменить запрос чтобы строки с одинаковыми create_user сложились

SELECT create_user,count(distinct file_name)as lists,count(*)as obj  from topo_seg h
       where create_date <= Now()
       and create_date >= Now() - interval '14 days'
       group by create_user
union all
SELECT create_user,count(distinct file_name)as lists,count(*)as obj  from pano_seg
       where create_date <= Now()
       and create_date >= Now() - interval '30 days'
       group by create_user
       order by create_user
источник

IC

Igor Chizhov in pgsql – PostgreSQL
использовать sum
источник

NI

Nadezhda Istomina in pgsql – PostgreSQL
Вот приятно видеть, заходишь в чат, а первых 30 пользователей - знаешь :)

Коллеги, просветите, плз, тут вакушки постить можно?
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
люди постят, их за это не кусают
источник

IC

Igor Chizhov in pgsql – PostgreSQL
SELECT create_user,sum(lists), sum(obj)  from (
  SELECT create_user,count(distinct file_name)as lists,count(*)as obj  from topo_seg h
       where create_date <= Now()
       and create_date >= Now() - interval '14 days'
       group by create_user
 union all
 SELECT create_user,count(distinct file_name)as lists,count(*)as obj  from pano_seg
       where create_date <= Now()
       and create_date >= Now() - interval '30 days'
       group by create_user
) x
group by x.create_user
order by x.create_user
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
разве, что когда вилку не указывают
источник

YZ

Yura Zolotchenko in pgsql – PostgreSQL
Igor Chizhov
SELECT create_user,sum(lists), sum(obj)  from (
  SELECT create_user,count(distinct file_name)as lists,count(*)as obj  from topo_seg h
       where create_date <= Now()
       and create_date >= Now() - interval '14 days'
       group by create_user
 union all
 SELECT create_user,count(distinct file_name)as lists,count(*)as obj  from pano_seg
       where create_date <= Now()
       and create_date >= Now() - interval '30 days'
       group by create_user
) x
group by x.create_user
order by x.create_user
Спасибо большое, пробовал sum не получалось никак.Теперь вижу ошибки)
источник

ac

alex che in pgsql – PostgreSQL
Максим
Как выставить приоритет по поиску. То есть надо найти то или то, но сначала надо найти все первые то, а потом другие то
SELECT val FROM (SELECT 1 as priority, 'A' as val
UNION ALL SELECT 2 as priority, 'B' as val) Order by priority LIMIT 1
источник

ac

alex che in pgsql – PostgreSQL
Если подзапросы тяжёлые, то можно оптимизировать, но станет менее читаемо
источник

2_

2flower _ in pgsql – PostgreSQL
Igor Chizhov
SELECT create_user,sum(lists), sum(obj)  from (
  SELECT create_user,count(distinct file_name)as lists,count(*)as obj  from topo_seg h
       where create_date <= Now()
       and create_date >= Now() - interval '14 days'
       group by create_user
 union all
 SELECT create_user,count(distinct file_name)as lists,count(*)as obj  from pano_seg
       where create_date <= Now()
       and create_date >= Now() - interval '30 days'
       group by create_user
) x
group by x.create_user
order by x.create_user
зачем делать двойную агрегацию, мне кажется это оверхэд, в начале UNION ALL а выше агрегировать
источник

IC

Igor Chizhov in pgsql – PostgreSQL
Об оптимизации речь не шла, но Вы можете предложить коллеге более оптимальный вариант )
источник

IC

Igor Chizhov in pgsql – PostgreSQL
А так да, оверхед будет, но незначительный
источник

2_

2flower _ in pgsql – PostgreSQL
особенно интересно с count(distinct file_name) если файл с таким именем есть в двух наборах у вас будет неверные цифры
источник

IC

Igor Chizhov in pgsql – PostgreSQL
Здесь вообще два набора пересекаются, бизнес-смысл их суммирования непонятен.
источник

ac

alex che in pgsql – PostgreSQL
alex che
SELECT val FROM (SELECT 1 as priority, 'A' as val
UNION ALL SELECT 2 as priority, 'B' as val) Order by priority LIMIT 1
with Res1(val) as (select A from T1 where ... order by ... limit 1),
Res2(val) as (select B from T2 where ... order by ... limit 1),
select coalesce(Res1.val, Res2.val)
— так не будет выполнять второй запрос, если первый дал результат; но это не обощается на случай, когда нужно выбрать 2 строки из объединения 2 подзапросов
источник

OR

Oleg Rizhkov in pgsql – PostgreSQL
как в pgadmin с помощью ui добавить данные (row) в таблицу?
источник