Всем привет! Проблема такая: есть таблица в которой хранятся значения баланса

для аккаунта, значения при обновлении баланса не перезаписываются, а пишутся в новой строке. Мне нужно забирать из таблицы самые актуальные значения баланса для списка аккаунтов. Каким образом это можно провернуть? У меня сейчас есть такой запрос, который возвращает мне все имеющиеся строки для списка аккаунтов
Я пыталась использовать max(date), но проблема в том, что даты у всех актуальных балансов могут быть разные
"""select
r.date,
r.balance,
a.num as account
from rest as r
join Account a on a.id = r.idAccount
where a.num in :accounts"""

9 ответов

17 просмотров

А почему вы думаете, что самый актуальный баланс будет соответствовать max(date)? В смысле -- хотя бы и по одному аккаунту.

Полина- Автор вопроса
Ilya Anfimov
А почему вы думаете, что самый актуальный баланс б...

Дата в формате timestamp, других показателей, способных показать точнее, нет

Полина
Дата в формате timestamp, других показателей, спос...

Мне было бы страшно обращаться в банк, который считает мой баланс по принцыпу "ну как есть, точнее у нас нет".

Полина- Автор вопроса
Ilya Anfimov
Мне было бы страшно обращаться в банк, который счи...

Так а кто сказал вам что это вопрос по банковскому продукту? )

Полина
Так а кто сказал вам что это вопрос по банковскому...

Да это неважно, по банковскому или по счёту за товары. Всё равно -- вы выбрали своеобразный метод подсчёта денег. Не самый плохой, но всё-таки.

Евгений Градус
предлагай свой вариант )

Последнее значение в одной таблицэ (возможно, вместе с ежэгодными сверками рассчётов или чем-то таким), в журнале операцый -- изменения баланса. Жэлающие баланса на определённую дату -- отсчитывают разницу от ближайшэй точки таблицы балансов, жэлающие последнего -- берут последний из таблицы балансов.

Полина- Автор вопроса
Ilya Anfimov
Последнее значение в одной таблицэ (возможно, вмес...

Хорошо, а если абстрагироваться от примера "баланс-аккаунт" и переделки логики, как бы вы решили вопрос?

Полина
Хорошо, а если абстрагироваться от примера "баланс...

Никак, без переделки логики этот вопрос выглядит нерешаемым. Можно попытаться переделать логику, оставив структуру таблиц, чтобы запись в таблицу нового баланса происходила всегда только с максимальной датой. Правильный режым SERIALIZABLE с блокировками диапазонов проверка, что наша дата максимальная для этого аккаунта в транзакцыи записи. И да, правильный режым serializable в postgres, например, появился только в 9.каком-то, впрочем это было большэ 10 лет назад и во всех поддержываемых версиях есть. в oracle database и ms sql server, насколько я помню очень давно правильный, в остальных серверах надо смотреть индивидуально.

Похожие вопросы

Обсуждают сегодня

Только сейчас дошли руки до Orange pi 5. Это нормально что на нем YOLOv5s выдает 1 кадр раз в 2-3 секунды на CPU? Это без оптимизаций и прочих настроек, просто голый запуск че...
Denis
10
Доброе утро. Подскажите, если если 4 корутины, внутри которых VideoCapture, то будут ли они работать асинхронно? Т.к. нагуглил, что Videocapture в моменте может быть открыт то...
Alexander👨‍💻
19
Всем привет! подскажите пожалуйста как можно увеличить качество фото?
Evgeniy
19
Всем привет! Подскажите пожалуйста С помощью OpenCVSharp работаю с rtsp потоком Но почему-то через +- 2 минуты поток зависает без всяких ошибок В какую сторону копать? С ...
Evgeniy
4
Кто работал с NPU на Рокчипе, можете подсказать, инициализирую модель (см. скрин 1), запускаю и на "init_runtime" выдает ошибку "undefined symbol: rknn_set_core_mask" (см. скр...
Denis
1
Я пожалуй ещё раз брошу клич: кто-нибудь хочет в рабство в ОЭЗ Алабугу на позицию инженера CV? Работы много, задачи сложные, ЗП высокая. Я передам контакт напрямую в HR.
Maxim 👀 Osminin #Slowpoke3D
13
А вы в атоме работаете да?
Alexander x*❄️❅❆
11
I have this grayscale image in opencv I want to change gray quadrilaterals to black like others It means i want to change gray color of specific color to black How can i do th...
@. .@
7
Could you upvote please? https://www.kaggle.com/code/mehmetisik/sentiment-analysis-twitter-nlp-machine-learning https://www.kaggle.com/code/mehmetisik/user-based-collaborati...
MHT Mht
1
всем драсте, занимаемся активно макетами печатной продукции каждый раз при закае нам шлют pdf или ai, любой вектор кароч чтоб внести заказ нужно каждый раз вручную создавать ...
Vlados
4
Карта сайта