Size: a a a

pgsql – PostgreSQL

2020 June 10

л

линкер in pgsql – PostgreSQL
извините.
sql запрос -
SELECT peer_id, MAX(created_at) FROM message WHERE peer_id = 1 OR peer_id = 2 GROUP BY peer_id
.
мне нужно получить все поля, а не только peer_id и max.
SELECT *, MAX(created_at) FROM message WHERE peer_id = 1 OR peer_id = 2 GROUP BY peer_id
не работает и выдает ошибку: "
столбец "message.message_id" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции
"
подскажите, пожалуйста, как все исправить?..
источник

R

Roman in pgsql – PostgreSQL
а что получить хотите?
источник

D

Dmitry in pgsql – PostgreSQL
ну
ваш запрос возвращает peer_id и максимальное время создания для каждого

а что вы хотите получить со звёздочкой?
источник

アレクセーイ in pgsql – PostgreSQL
select * ( звездочка - все поля ) from ...
источник

л

линкер in pgsql – PostgreSQL
Roman
а что получить хотите?
все из таблицы, то есть *
источник

D

Dmitry in pgsql – PostgreSQL
если убрать max, то просто вернутся все строки. если не убирать - то непонятно max для чего
источник

R

Roman in pgsql – PostgreSQL
select * from message where peer_id in(1,2) order by created_at desc
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Перефразируя старый анекдот про такси: Вам звёздочку или группировку?
источник

R

Roman in pgsql – PostgreSQL
задача непонятна )
источник

AB

Alexey Bulgakov in pgsql – PostgreSQL
задача видимо получить все данные для строк у которых максимальная дата в разрезе peer_id
источник

VA

Vladimir Avramov in pgsql – PostgreSQL
Роман Жарков
Перефразируя старый анекдот про такси: Вам звёздочку или группировку?
Вангую, что ему результат оконной функции, но пока он сам не понимает этого
источник

VY

Victor Yegorov in pgsql – PostgreSQL
линкер
извините.
sql запрос -
SELECT peer_id, MAX(created_at) FROM message WHERE peer_id = 1 OR peer_id = 2 GROUP BY peer_id
.
мне нужно получить все поля, а не только peer_id и max.
SELECT *, MAX(created_at) FROM message WHERE peer_id = 1 OR peer_id = 2 GROUP BY peer_id
не работает и выдает ошибку: "
столбец "message.message_id" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции
"
подскажите, пожалуйста, как все исправить?..
вам надо понять, что группировка — это сворачивание данных по каким-то условиям. и сделать SELECT * при этом — никак
можно пробовать так:
SELECT *, max(created_at) OVER (PARTITION BY peer_id) WHERE peer_id in (1,2);
но это не группировка
источник

л

линкер in pgsql – PostgreSQL
Victor Yegorov
вам надо понять, что группировка — это сворачивание данных по каким-то условиям. и сделать SELECT * при этом — никак
можно пробовать так:
SELECT *, max(created_at) OVER (PARTITION BY peer_id) WHERE peer_id in (1,2);
но это не группировка
спасибо
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
линкер
извините.
sql запрос -
SELECT peer_id, MAX(created_at) FROM message WHERE peer_id = 1 OR peer_id = 2 GROUP BY peer_id
.
мне нужно получить все поля, а не только peer_id и max.
SELECT *, MAX(created_at) FROM message WHERE peer_id = 1 OR peer_id = 2 GROUP BY peer_id
не работает и выдает ошибку: "
столбец "message.message_id" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции
"
подскажите, пожалуйста, как все исправить?..
Хмм... мне кажется, или Вы уже задавали именно этот вопрос раньше (и я Вам уже отвечал)?
И да, https://t.me/pgsql/231014
Вы что, не нашли ничего?!
источник

J

John Roe in pgsql – PostgreSQL
источник

К

Кирилл in pgsql – PostgreSQL
Sacebo Misairu
Setting up postgresql-10 (10.13-1.pgdg16.04+1) ...

Progress: [ 68%]
У вас в apt source для postgresql правильный дистрибутив указан ?
источник

s

sexst in pgsql – PostgreSQL
Yaroslav Schekin
Можно поискать вот это, например:
subprocess installed post-installation script returned error exit status 1

Т.е. dpkg считает, что не может завершить конфигурацию пакета, да.
Попробовать найти сам этот script, и его логи (я не помню, где, если что).
Обожаю убунту именно за такие нюансы, как падение установки пакета потому что какой-то долбоклюв в post-install скрипты запуск установленного запихал.
invoke-rc.d: initscript postgresql, action "start" failed.
Пакет не ставится ибо сервис запустить не может. Попробовать вывалиться из установки пакета и руками стартануть постгрес. Посмотреть по journalctl -r логи (они в обратном порядке мотаются в таком виде). Если там ничего - посмотреть в логфайлах. Если и там ничего - стартануть постгрес прямо совсем вручную, посмотрев как его запускают в юнит-файле systemd. Устранить то, на что ругается.
источник

s

sexst in pgsql – PostgreSQL
А можно было просто без выпендрежа не делать запуск сервиса за пользователя. Может я сразу хочу пути поменять и конфиг поправить. Или это другая версия параллельно ставится.
Убунта в какой-то неправильный KISS ударилась окончательно.
источник

СГ

Сергей Голод... in pgsql – PostgreSQL
sexst
Обожаю убунту именно за такие нюансы, как падение установки пакета потому что какой-то долбоклюв в post-install скрипты запуск установленного запихал.
invoke-rc.d: initscript postgresql, action "start" failed.
Пакет не ставится ибо сервис запустить не может. Попробовать вывалиться из установки пакета и руками стартануть постгрес. Посмотреть по journalctl -r логи (они в обратном порядке мотаются в таком виде). Если там ничего - посмотреть в логфайлах. Если и там ничего - стартануть постгрес прямо совсем вручную, посмотрев как его запускают в юнит-файле systemd. Устранить то, на что ругается.
там всё починили. проблема в том что это очень старая убунта (14.04), которую апгрейдили до свежей. И там разные каталоги /var/run и /run.  На свежих убунтах /var/run -> /run и проблема не возникла бы вообще
источник

s

sexst in pgsql – PostgreSQL
Сергей Голод
там всё починили. проблема в том что это очень старая убунта (14.04), которую апгрейдили до свежей. И там разные каталоги /var/run и /run.  На свежих убунтах /var/run -> /run и проблема не возникла бы вообще
Да я просто абстрактно бомблю, Вроде и стараются для неопытных пользователей, а вроде и наоборот - человек в непонятках почему не ставится. А оно ставится, просто не стартует. Ящитаю нефиг инсталлятору такие вещи вообще делать by design.
источник