如何在MS SQL中创建按Product聚合总Amount的视图?
MS SQL 创建产品金额汇总视图的方案
一、用视图是不是最佳方式?
当然是合适的选择。视图能把按产品聚合求和的逻辑封装起来,之后每次要查这个汇总数据,直接查视图就行,不用反复写聚合SQL,对新手来说省心,还能保证每次用的都是同一个逻辑,避免出错。如果这个汇总结果需要多次使用,或者作为其他查询的基础数据源,视图的优势会更明显。
二、具体操作步骤
假设你的基础数据表名为ProductStorage(换成你实际的表名即可),创建视图的SQL代码如下:
CREATE VIEW vw_ProductTotalAmount AS SELECT Product, SUM(Amount) AS TotalAmount FROM ProductStorage GROUP BY Product;
代码说明:
CREATE VIEW vw_ProductTotalAmount:创建一个名为vw_ProductTotalAmount的视图(视图名可自定义,建议起见名知意的名称)SUM(Amount) AS TotalAmount:对每个产品的Amount字段求和,并将结果命名为TotalAmountGROUP BY Product:按照Product字段分组,确保每个产品只返回一条汇总记录
查询视图获取结果
视图创建完成后,直接查询视图就能得到目标汇总数据:
SELECT Product, TotalAmount FROM vw_ProductTotalAmount;
查询结果如下:
| Product | TotalAmount |
|---|---|
| 1 | 44 |
| 2 | 50 |
| 3 | 10 |
如果想要和你示例中一致的1 --> 44格式,可使用字符串拼接:
SELECT CONCAT(Product, ' --> ', TotalAmount) AS Result FROM vw_ProductTotalAmount;
此时查询结果为:
| Result |
|---|
| 1 --> 44 |
| 2 --> 50 |
| 3 --> 10 |
内容的提问来源于stack exchange,提问作者PnP
相关产品推荐
相关产品推荐

