PHP和SQL - 如何选择当年所有月份的最高总和?

时间:2015-10-21 19:12:04

标签: php mysql select

所以我在数据库中有表'item',其属性为:id,dateItem,price。

我想在当年找到一个月的MAX(SUM(价格))。

id  dateItem (Format: yyyy-mm-dd)    price
1   25.06.2015.                      986,69
2   21.06.2015.                      1564
3   22.03.2015.                      23,56
4   21.03.2015.                      187,23
5   01.03.2015.                      489,33
6   06.10.2015.                      975,26

我想出了类似的东西,但我知道这不行。请帮忙:s

$sql = "SELECT MAX(SUM(price)) FROM item WHERE DATE('Y') = 2015 AND 
dateItem between DATE('Y/m/1') and DATE('Y/m/31')";

2 个答案:

答案 0 :(得分:2)

您无法嵌套聚合函数。您需要使用子查询。

SELECT MAX(pricesum) 
FROM (SELECT SUM(price) AS pricesum
      FROM item
      WHERE YEAR(dateItem) = YEAR(NOW())
      GROUP BY MONTH(dateItem)) AS subquery

答案 1 :(得分:0)

您可以使用ORDER BYLIMIT

执行此操作
SELECT SUM(price) AS pricesum
FROM item
WHERE YEAR(dateItem) = YEAR(NOW())
GROUP BY MONTH(dateItem)
ORDER BY pricesum DESC
LIMIT 1;

如果您也想知道月份,可以在SELECT条款中包含该月份。