Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вывод сообщений по дате с группировкой / 5 сообщений из 5, страница 1 из 1
26.06.2015, 10:08
    #38993327
Vasya84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод сообщений по дате с группировкой
Здравствуйте!
Извините за, может быть, банальный вопрос. С SQL-базами не работал уже почти 5 лет.
Есть список личных сообщений

[id, кому, от_кого, текст, время]

Нужно вывести всех, кто присылал сообщения мне (поле кому) с сортировкой по дате.
Сейчас идет вывод с сортировкой по алфавиту, но если в GROUP BY добавить дату, то появляются дубли от_кого, так как PostgreSQL группирует дату. Если дату не добавлять в GROUP BY, то вылетает ошибка, что поле дата нужно добавить в GROUP BY так как идет группировка по полю от_кого.

Данных в базе мало, но желательно не сильно "тяжелый" способ.

Спасибо!
...
Рейтинг: 0 / 0
26.06.2015, 10:52
    #38993376
p2.
p2.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод сообщений по дате с группировкой
Vasya84не сильно "тяжелый" способ.не сильно тяжелый - max, совсем легкий - min.
...
Рейтинг: 0 / 0
26.06.2015, 11:09
    #38993411
Vasya84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод сообщений по дате с группировкой
p2.Vasya84не сильно "тяжелый" способ.не сильно тяжелый - max, совсем легкий - min.

Спасибо за Ваш ответ!
Если Вам не сложно, дайте, пожалуйста, пример кода или хотя бы принцип работы.
...
Рейтинг: 0 / 0
26.06.2015, 11:13
    #38993417
Vasya84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод сообщений по дате с группировкой
Vasya84,

Сейчас методом проб и ошибок нашел такой способ:
SELECT DISTINCT ON(from) time ............ ORDER BY from, time DESC
Но почему-то в сортировку попадают старые сообщения, а не последние.
...
Рейтинг: 0 / 0
26.06.2015, 11:18
    #38993422
Vasya84
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод сообщений по дате с группировкой
Vasya84Vasya84,

Сейчас методом проб и ошибок нашел такой способ:
SELECT DISTINCT ON(from) time ............ ORDER BY from, time DESC
Но почему-то в сортировку попадают старые сообщения, а не последние.

Всем спасибо! Особенно p2.

Решил так:
SELECT * FROM (SELECT DISTINCT ON(from) time ............ ORDER BY from, time DESC) AS t ORDER BY time DESC;

Вроде работает.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вывод сообщений по дате с группировкой / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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