sql - 如何获取列中多条记录的总和

标签 sql sql-server

我有一个这样的查询:

SELECT 
    TC.F_Exhibition_Name,
    T.F_Exhibitor_Name,
    TC.F_CreditNoteNo,
    TC.F_Description,
    TC.F_Price,
    TC.F_Qty,
    TC.F_CNqty,
    TC.F_Totalamt 
FROM T_CreditNote TC 
LEFT JOIN T_Exhibitor T ON 
    T.F_Exhibitor_Name = TC.F_Exhibitor_Name 
WHERE TC.F_CreditNoteNo='CNINV100002'

输出如下所示

----------------------------------------------------------------------------------------------------------------------------------------------------
F_Exhibition_Name   F_Exhibitor_Name                            F_CreditNoteNo  F_Description   F_Price      F_Qty        F_CNqty      F_Totalamt                                    
----------------------------------------------------------------------------------------------------------------------------------------------------
WORKSPACE 2015      AEP - Associacao Empresarial De Portugal    CNINV100002     item1                12          5             8               96 
WORKSPACE 2015      AEP - Associacao Empresarial De Portugal    CNINV100002     item2                25          12            10             250   

我想最后添加一列 [sum]F_total 金额的总和。就我而言,我想显示 sum(250+96) = 346.

我该怎么做?

最佳答案

使用SUM OVER():

select TC.F_Exhibition_Name, T.F_Exhibitor_Name, TC.F_CreditNoteNo, 
       TC.F_Description, TC.F_Price,TC.F_Qty, TC.F_CNqty, TC.F_Totalamt,
       sum(TC.F_Totalamt) OVER () AS SumOfTotalamt
from T_CreditNote TC 
LEFT JOIN T_Exhibitor T on T.F_Exhibitor_Name=TC.F_Exhibitor_Name 
where TC.F_CreditNoteNo='CNINV100002'

SUM 的窗口版本将返回两行的总和为 F_Totalamt

关于sql - 如何获取列中多条记录的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31176476/

相关文章:

sql - 选择今天的日期作为默认日期

mysql - 语句在 SQL 中有效,但在 PDO 中无效

c# - Entity Framework ,getutcdate()

c# - 优化日历应用程序的查询和/或数据模型

java - 从 java 连接 ms sql server 时收到错误

mysql - 使用各方扮演的各种角色来实现 'party model' 的正确方法是什么?

php - 如何在 MySQL 中优先搜索多个列?

sql - 如何在 SQL 中搜索级别订单值?

c# - 我可以从 ASP.net 将大文本值插入到 SQL Server 中,而无需将整个文件保存在 Web 服务器的内存中吗?

c# - 小数超出范围 C# 和 SQL Server