Мне нужна текущая сумма моих таблиц, где я написал свой код, но не могу заставить его работать.
Это то, что я получаю
Это то, что мне нужно
это мой код
SELECT
id,
date
saldo,
cast(sum(saldo) over (order by date ROWS UNBOUNDED PRECEDING) as float) as running_Total
FROM orders
order by date desc;
Я просто не могу понять, что не так. Я искал в Интернете в течение нескольких часов. У меня также есть проблемы с перемещением десятичных знаков и запятых в нужные места.
Спасибо!
Я проверил свой код на некоторых других данных, и он сработал. Есть какая-то проблема с данными, которые мне нужно выяснить.
Вам не нужно ничего, кроме упорядочения по дате по убыванию для оператора SELECT, такого как
SELECT id, date, saldo,
SUM(saldo) OVER (ORDER BY date ROWS UNBOUNDED PRECEDING) AS running_Total
FROM orders
ORDER BY date DESC
Спасибо за ваш ответ. Вы правы, мне нужно добавить свои заказы в desc.
Могу я задать вам вопрос вдогонку? Я попробовал код на некоторых других данных, и он работал как надо, также добавив дату desc. Однако я думаю, что он выводит значения в виде строк. Как будет выглядеть код, если мне нужно, чтобы выходное значение было отформатировано как число? Спасибо!
какая у вас СУБД, и можете ли вы поделиться своими усилиями в демоверсии, например, по ссылке в ответе? Кстати, это тип данных столбца date
строка (или подобная строка, такая как varchar, varchar2) @Kasper?
Конечно! Я изменил свой код и добавил свои изменения для форматирования. Я использую mysql, и дата форматируется как дата. В принципе, мне нужно такое же форматирование, как и в Saldo. Должен ли я указать, каким должен быть десятичный знак?
Я нашел решение! Спасибо за помощь!
Я подозреваю, что на самом деле у вас есть несколько id
в ваших данных, и вам нужен partition by
:
SELECT id, date saldo,
sum(saldo) over (partition by id order by date ROWS UNBOUNDED PRECEDING) as running_Total
FROM orders
ORDER BY id, date;
Да, это тоже было бы хорошей идеей. Спасибо за ваш ответ!
(1) Пожалуйста, укажите в своем вопросе базу данных, с которой вы работаете: mysql, oracle, postgresql...? (2) Что такое тип данных столбца
saldo
?