Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SUM(columnname)提供的结果与在SQL Server中手动求和columnname不同。为什么?_Mysql_Sql Server - Fatal编程技术网

Mysql SUM(columnname)提供的结果与在SQL Server中手动求和columnname不同。为什么?

Mysql SUM(columnname)提供的结果与在SQL Server中手动求和columnname不同。为什么?,mysql,sql-server,Mysql,Sql Server,为什么总和(已售出)给我的结果与手动对字段求和的结果不同 下面的查询为我提供了正确的#如果我手动对已售出字段求和: SELECT CustCode, FiscalYear, Sold FROM DBNAME.dbo.SALESDETAIL WHERE (FiscalYear = YEAR({ fn NOW() })) and CustCode = '248' GROUP BY CustCode, FiscalYear, Sold 但是如果我尝试使用求和函数,我

为什么总和(已售出)给我的结果与手动对字段求和的结果不同

下面的查询为我提供了正确的#如果我手动对已售出字段求和:

SELECT     CustCode, FiscalYear, Sold 
FROM         DBNAME.dbo.SALESDETAIL
WHERE     (FiscalYear = YEAR({ fn NOW() }))
and CustCode = '248'
GROUP BY CustCode, FiscalYear, Sold
但是如果我尝试使用求和函数,我得到了错误的数量。有人能帮我吗

SELECT     CustCode, FiscalYear, SUM(Sold) 
FROM         DBNAME.dbo.SALESDETAIL
WHERE     (FiscalYear = YEAR({ fn NOW() }))
and CustCode = '248'
GROUP BY CustCode, FiscalYear
目标是只返回一个结果——CustCode、FiscalYear和Sum(sell)。感谢你的指点

SELECT CustCode, FiscalYear, Sold 
FROM DBNAME.dbo.SALESDETAIL
WHERE (FiscalYear = YEAR({ fn NOW() }))
  AND CustCode = '248'
GROUP BY CustCode, FiscalYear, Sold;

SELECT  DISTINCT CustCode, FiscalYear, Sold 
FROM DBNAME.dbo.SALESDETAIL
WHERE (FiscalYear = YEAR({ fn NOW() }))
  AND CustCode = '248';
基本上,您可以去掉多个已售出的

尝试求和:

SELECT CustCode, FiscalYear, Sold 
FROM DBNAME.dbo.SALESDETAIL
WHERE (FiscalYear = YEAR({ fn NOW() }))
  AND CustCode = '248';

并与
SUM(selled)
结果进行比较。

CustCode
FiscalYear
selled
列出的第一个查询组。即,对于这些字段的唯一组合,它返回一行。这意味着,如果同一
CustCode
FiscalYear
的多个条目具有相同的
salled
,则只返回其中一行,并丢失重复项。因此,您的手动求和缺少值,而第二个查询不会缺少这些值

第一个查询消除重复的
已售出的
值。如果有两行具有相同的
CustCode
FiscalYear
sall
,则第一个查询将只返回一行,而第二个查询将对值求和