不存在执行所需分组和聚合的功能
No function exists to perform desired grouping and aggregation
我 运行 遇到了一个难题,我希望有人能帮助我解决这个问题。我有一个包含以下字段的 table:
SalesPeriod、SalesRep、Contract、MarginPerProduct、ProductSold
我必须将 MarginPerProduct 和 ProductSold 相乘才能得到 'TotalMargin'
这是我正在尝试使用的代码示例:
SELECT
SalesPeriod
, SalesRep
, Contract
, MarginPerProduct*ProductSold as 'TotalMargin'
FROM
tblSales
GROUP BY
SalesPeriod
, SalesRep
, Contract
当然,相乘的列是无效的,因为它们不是分组的一部分,而且没有使用聚合函数。
有没有办法在使用非识别聚合时完成这种类型的分组?
感谢您的帮助。
据推测,您想要 sum()
:
SELECT SalesPeriod, SalesRep, Contract,
SUM(MarginPerProduct * ProductSold) as TotalMargin
FROM tblSales
GROUP BYSalesPeriod, SalesRep, Contract;
为什么不只是这个
SELECT
SalesPeriod
, SalesRep
, Contract
, TotalMargin = MarginPerProduct*ProductSold
FROM
tblSales
如果您希望 TotalMargin
对每个 SalesPeriod\SalesRep\Contract
求和,则
SELECT
SalesPeriod
, SalesRep
, Contract
, TotalMargin = sum(MarginPerProduct*ProductSold)
FROM
tblSales
GROUP BY
SalesPeriod
, SalesRep
, Contract
我 运行 遇到了一个难题,我希望有人能帮助我解决这个问题。我有一个包含以下字段的 table:
SalesPeriod、SalesRep、Contract、MarginPerProduct、ProductSold
我必须将 MarginPerProduct 和 ProductSold 相乘才能得到 'TotalMargin'
这是我正在尝试使用的代码示例:
SELECT
SalesPeriod
, SalesRep
, Contract
, MarginPerProduct*ProductSold as 'TotalMargin'
FROM
tblSales
GROUP BY
SalesPeriod
, SalesRep
, Contract
当然,相乘的列是无效的,因为它们不是分组的一部分,而且没有使用聚合函数。
有没有办法在使用非识别聚合时完成这种类型的分组?
感谢您的帮助。
据推测,您想要 sum()
:
SELECT SalesPeriod, SalesRep, Contract,
SUM(MarginPerProduct * ProductSold) as TotalMargin
FROM tblSales
GROUP BYSalesPeriod, SalesRep, Contract;
为什么不只是这个
SELECT
SalesPeriod
, SalesRep
, Contract
, TotalMargin = MarginPerProduct*ProductSold
FROM
tblSales
如果您希望 TotalMargin
对每个 SalesPeriod\SalesRep\Contract
求和,则
SELECT
SalesPeriod
, SalesRep
, Contract
, TotalMargin = sum(MarginPerProduct*ProductSold)
FROM
tblSales
GROUP BY
SalesPeriod
, SalesRep
, Contract