如何对MySQL查询中的值求和?
我正在使用MySQL。如何对MySQL查询中的值求和?,mysql,Mysql,我正在使用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 Es
我有一个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
这导致:
- A:1*178
- B:1*3*50
- 总和(A+B):328
选择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;
您能编辑SQL使其真正可读吗?:)请张贴你想要得到的实际结果。我不确定我是否理解。。。你从哪里得到的A=178?我看到S_val=0和Estimate=0,那么max(pval)*S_val*Estimate也应该是=0?很难理解你想做什么。
SELECT
SUM(maxpval * S_val * Estimate),
SUM(maxpval * P_val * Analyze)
FROM
yourTable
JOIN (
SELECT MAX(P_val) AS maxpval FROM yourTable
) AS dt;