[英]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.