获取特定列的总和以及最后一行中另一列的值
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;
我是 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;