Sql 如何计算每行的列数据之和?
如何计算每行中一列的总计 这样,如果我有一个Cost列,并且它在每一行中都有数据,那么我想在最后计算它的总和,按特定列分组并满足特定条件 我试过:Sql 如何计算每行的列数据之和?,sql,sql-server,sql-server-2008,sql-server-2012,relational-database,Sql,Sql Server,Sql Server 2008,Sql Server 2012,Relational Database,如何计算每行中一列的总计 这样,如果我有一个Cost列,并且它在每一行中都有数据,那么我想在最后计算它的总和,按特定列分组并满足特定条件 我试过: SELECT [SchemeName] ,SUM(CAST([SchemeCost] as INT)) as COST ,[SchemeHolderName] ,[SchemeApprovedBy] FROM [WMS_MCP].[dbo].[Schemes] Where SchemeHold
SELECT
[SchemeName]
,SUM(CAST([SchemeCost] as INT)) as COST
,[SchemeHolderName]
,[SchemeApprovedBy]
FROM [WMS_MCP].[dbo].[Schemes]
Where SchemeHolderName like '%'+ 'Hussain' +'%'
Group By SchemeCost,SchemeName,SchemeHolderName,SchemeApprovedBy
UNION ALL
SELECT
''
,SUM(CAST([SchemeCost] as INT)) as COST
,''
,''
FROM [WMS_MCP].[dbo].[Schemes]
Where SchemeHolderName like '%'+ 'Hussain' +'%'
Group By SchemeCost,SchemeName,SchemeHolderName,SchemeApprovedBy
但它不会生成所需的输出,我希望最后一行为空,其中只有TOTALCOST。从union中的第二个select语句中删除Group by子句
SELECT
[SchemeName]
,SUM(CAST([SchemeCost] as INT)) as COST
,[SchemeHolderName]
,[SchemeApprovedBy]
FROM [WMS_MCP].[dbo].[Schemes]
Where SchemeHolderName like '%'+ 'Hussain' +'%'
Group By SchemeCost,SchemeName,SchemeHolderName,SchemeApprovedBy
UNION ALL
SELECT
''
,SUM(CAST([SchemeCost] as INT)) as COST
,''
,''
FROM [WMS_MCP].[dbo].[Schemes]
Where SchemeHolderName like '%'+ 'Hussain' +'%'
因为您期望最后一行中的总成本,但通过使用GROUPBY,结果将按GROUPBY子句中使用的字段分组。通过删除GROUPBY子句,您将获得表中所有行的总和(cost不会被划分为组字段),您的查询结果是什么,有什么问题?