获取特定列的总和以及最后一行中另一列的值

GET SUM of particular column along with value of another column in last row

我是 Sql 的新手,我想从 table 中获取特定列的 SUM 以及最后一个 table 中另一列的值SUM 中使用的列行。

例如: 下面是我的 Table 我想要 Code 为 1 的所有金额字段的总和,还有一个 qty 字段,它是在 table

中最后一次出现值为 1 的代码

Table 图片

我想要像下面这样的东西

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 ;

如果我的理解正确,您需要如下内容,这是 demo

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 |
*-----------------------*

如果需要,您可以在没有子查询的情况下执行此操作:

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