我正在使用MySQL 我有一个能够找到最大值的P_id。我想通过以下方式显示两个公式的总和:
Then
Sum(max(pval)*S_val*Estimate)
Sum(max(pval)*P_val*Analyze)
Finally sum the Both above
我使用了以下功能,但它给了我一个错误:
> id Display P_id P_val Analyze S_id S_val Estimate > 70 Data1 1 1 178 0 0 0 > 71 Data2 1 0 0 1 3 50
SELECT SUM( max(pval)*S_val*Estimate) + Sum( max(pval)* P_val * Analyze) from DATA where pid='1'
这导致:
答案 0 :(得分:2)
您无法嵌套聚合函数 - SELECT SUM(MAX(x))
将始终出错。
您可以在子查询中获取内部值:
SELECT
SUM(maxpval * S_val * Estimate),
SUM(maxpval * P_val * Analyze)
FROM
yourTable
JOIN (
SELECT MAX(P_val) AS maxpval FROM yourTable
) AS dt;