簡體   English   中英

如何在SQL Server中獲取特定行范圍內特定列的總和?

[英]How to get sum of specific column at specific row range in SQL Server?

這是我的桌子:

Id       Name      Price      Session
----------------------------------------
1        abcd      1000       07.00 AM
1        abcd      1000       07.00 AM
5        mnop      NULL       12.00 AM
5        mnop      NULL       12.00 AM
5        mnop      1000       12.00 AM

我希望這個結果:

Id       Name      Price      Session
--------------------------------------
1        abcd      2000       07.00 AM
5        mnop      1000       12.00 AM

如何匯總特定行范圍內的列Price

在查詢中包括group by子句。 在group by子句中也列出了所有未使用聚合函數的斜列。

Select id ,name ,session ,sum (price)
From table
Group by id, name, session

沒有group by子句的其他方法是SUM() .. over

SELECT DISTINCT
   Id, Name,
   SUM(Price) OVER(PARTITION BY ID, Name, Session) [Price],
   [Session]
FROM <table>;

結果:

Id       Name      Price      Session
--------------------------------------
1        abcd      2000       07.00 AM
5        mnop      1000       12.00 AM

我認為您可以嘗試使用價格的總和來嘗試此操作,並以GROUP BY完成。

GROUP BY的Microsoft文檔: https : //docs.microsoft.com/zh-cn/sql/t-sql/queries/select-group-by-transact-sql

還有一個簡短的例子:

SELECT Id, Name, Session, SUM(Price) AS Price
FROM Table
GROUP BY Id, Name, Session

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM