所以我在数据库中有表'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')";
答案 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 BY
和LIMIT
:
SELECT SUM(price) AS pricesum
FROM item
WHERE YEAR(dateItem) = YEAR(NOW())
GROUP BY MONTH(dateItem)
ORDER BY pricesum DESC
LIMIT 1;
如果您也想知道月份,可以在SELECT
条款中包含该月份。