powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запрос выбрать последние взвешивания в разрезе весов
5 сообщений из 5, страница 1 из 1
Запрос выбрать последние взвешивания в разрезе весов
    #38798168
Есть таблица взвешиваний

scale_log_id - primary key, serial
scale_id - id весов
scale_value - значение веса
ts - таимштамп

Не могу выбрать одним запросом следующию информацию:
надо получить последнее взвешивание по каждым весам - одна строка на одни весы, отсортировать по scale_id:
scale_log_id,scale_id,scale_value

например
152366;1;521
152343;2;12
152375;3;12

Вот что получается максимально близкое, но не то :(

SELECT l.scale_id,
(SELECT d2.scale_log_id FROM scale_log as d2 WHERE d2.scale_id = l.scale_id ORDER BY d2.scale_log_id DESC LIMIT 1) as scale_log_id,
(SELECT d2.scale_value FROM scale_log as d2 WHERE d2.scale_id = l.scale_id ORDER BY d2.scale_log_id DESC LIMIT 1) as scale_value,
(SELECT d4.ts FROM scale_log as d4 WHERE d4.scale_id = l.scale_id ORDER BY d4.scale_log_id DESC LIMIT 1) as ts
FROM scale_log as l
GROUP BY l.scale_id
ORDER BY l.scale_id
...
Рейтинг: 0 / 0
Запрос выбрать последние взвешивания в разрезе весов
    #38798180
Дмитрий Пермяков,

Выбирай на свой вкус и цвет . Способы с первого по шестой должны работать и в PоstgreSQL в том числе.
...
Рейтинг: 0 / 0
Запрос выбрать последние взвешивания в разрезе весов
    #38798200
ну или используй "родной" distinct on()
...
Рейтинг: 0 / 0
Запрос выбрать последние взвешивания в разрезе весов
    #38798254
шняжка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
сейчас, с 9.3 есть ещё такая чудная шняжка как LATERAL

Код: sql
1.
2.
3.
4.
SELECT справочник AS id, f.* FROM справочник
LEFT JOIN LATERAL (SELECT * FROM факты WHERE факты.справочник=
справочник.справочник
ORDER BY {order list } LIMIT {topN}) f



-- в отличь от DISTINCT ON () в этом случае планер умеет сам пользоваться индексом (справочник,{order list }).
Очень писанину сокращает.
...
Рейтинг: 0 / 0
Запрос выбрать последние взвешивания в разрезе весов
    #38798269
Добрый Э - Эх,

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


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