如何使用另一个查询中每天的最大值按月计算SUM

时间:2018-03-13 07:02:28

标签: mysql sql select sum

实际上,我想要做的是使用第一个查询的输出值: -

SELECT pdate, MAX(value_lost) FROM ltime GROUP BY pdate

在我的第二个查询中计算按月丢失的值的SUM,但我不知道这个。谁能帮我。我在下面的查询中收到错误: -

SELECT MONTH(pdate), SUM(SELECT MAX( value_lost ) 
FROM ltime GROUP BY pdate)) FROM ltime GROUP BY YEAR(pdate),MONTH(pdate); 

如果使用我的第一个查询

,这就是我得到的

enter image description here

所以当我求和时,例如3月的max(value_lost)(按月),我会得到36.4757(3月份)的值

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT MONTH(A.pdate), SUM(A.max_lost_value) 
FROM (SELECT pdate, MAX(value_lost) max_lost_value FROM ltime GROUP BY pdate) A
GROUP BY MONTH(A.pdate);

答案 1 :(得分:0)

此查询可以让您更接近您的需求。

SELECT MONTH(pdate), SUM(value_lost) as `totalLost`, MAX(value_lost) `highestLost`
   FROM ltime GROUP BY YEAR(pdate), MONTH(pdate)
;