ПОЛУЧИТЬ СУММУ определенного столбца вместе со значением другого столбца в последней строке - PullRequest
0 голосов
/ 26 апреля 2020

Я новичок ie до Sql, я хочу получить SUM определенного столбца из таблицы, а также значение другого столбца из таблицы, которая находится в последней строке столбца, используемого в SUM.

Для примера: ниже моя таблица. Я хочу получить сумму всех полей суммы, где Code равен 1, а также поля qty, которое является последним вхождением кода со значением 1 в таблицу

Изображение таблицы

enter image description here

Я хочу что-то вроде ниже

select SUM(amount) from table where Code = 1 UNION ALL Select qty from test where Code = 1 and id = MAX(id) for/where code = 1 ;

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Если я правильно понимаю, вам нужно что-то вроде следующего, вот демо .

select
    code,
    total_amount,
    qty
from
(
    select
        code,
        sum(amount) over (order by id) as total_amount,
        qty,
        row_number() over (partition by code order by id desc) as rnk
    from yourTable
    where code = 1
) val
where rnk =1 

Вывод:

*-----------------------*
|code total_amount  qty |
*-----------------------*
| 1     80           20 |
*-----------------------*
0 голосов
/ 26 апреля 2020

Вы можете сделать это без подзапроса, если хотите:

select distinct top (1) sum(amount) over () as amount, qty
from t
where code = 1
order by id desc;
...